两两交换链表中的节点【链表】

Problem: 24. 两两交换链表中的节点

文章目录

思路 & 解题方法

假如要交换1号节点和2号节点:

0->1->2->3变成

0->2->1->3就行了。

复杂度

时间复杂度:

O ( n ) O(n) O(n)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

python 复制代码
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]:
        node0 = ans = ListNode(0, head)
        node1 = head
        while node1 and node1.next:
            node2 = node1.next
            node3 = node2.next
            # 0->1->2->3
            node0.next = node2
            node2.next = node1
            node1.next = node3
            # 0->2->1->3
            node0 = node1
            node1 = node3
        
        return ans.next
相关推荐
星火开发设计1 小时前
C++ stack 全面解析与实战指南
java·数据结构·c++·学习·rpc··知识
C雨后彩虹1 小时前
书籍叠放问题
java·数据结构·算法·华为·面试
Jasmine_llq2 小时前
《UVA11181 条件概率 Probability|Given》
数据结构·算法·深度优先搜索(dfs)·剪枝(可行性剪枝)·组合枚举(递归暴力枚举)·条件概率统计与归一化
CCPC不拿奖不改名3 小时前
数据处理与分析:pandas基础+面试习题
开发语言·数据结构·python·面试·职场和发展·pandas
宵时待雨3 小时前
数据结构(初阶)笔记归纳2:顺序表的实现
c语言·数据结构·笔记·算法
漫随流水4 小时前
leetcode算法(101.对称二叉树)
数据结构·算法·leetcode·二叉树
2301_764441335 小时前
python实现罗斯勒吸引子(Rössler Attractor)
开发语言·数据结构·python·算法·信息可视化
漫随流水5 小时前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
ホロHoro6 小时前
数据结构非线性部分(二)review
linux·服务器·数据结构
菜鸟233号6 小时前
力扣474 一和零 java实现
java·数据结构·算法·leetcode·动态规划