两两交换链表中的节点 两种解法(Python)

网友投稿 222 2022-11-19

两两交换链表中的节点 两种解法(Python)

迭代 时间复杂度 O(N)

# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def swapPairs(self, head: ListNode) -> ListNode: dummy_head = ListNode() dummy_head.next = head tmp = dummy_head while tmp.next and tmp.next.next: node1 = tmp.next node2 = tmp.next.next tmp.next = node2 node1.next = node2.next node2.next = node1 tmp = node1 return dummy_head.next

递归 时间复杂度O(N)

# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def swapPairs(self, head: ListNode) -> ListNode: if not head or not head.next: return head one = head two = head.next three = head.next.next two.next = one one.next = self.swapPairs(three) return two

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PCB电路设计中射频接口和射频电路的特性
下一篇:Java实现IP地址到二进制的转换
相关文章

 发表评论

暂时没有评论,来抢沙发吧~