题解 | 两两交换链表中的结点

两两交换链表中的结点

https://www.nowcoder.com/practice/1aabdaea8c7e4874bb1d3eda2c7f0042

class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# @param head ListNode类 
# @return ListNode类

#迭代
# class Solution:
#     def swapPairs(self , head: ListNode) -> ListNode:
        # write code here
        #递归终止条件
        # if not head or not head.next:
        #     return head
        
        # new_head = head.next
        # head.next = self.swapPairs(new_head.next)   #递归调用函数
        # new_head.next = head
        
        # return new_head


#递归
class Solution:
    def swapPairs(self , head: ListNode) -> ListNode:
        prev = ListNode(0)
        prev.next = head
        #结束后输出的头结点
        new_head = prev

        while prev.next and prev.next.next:
            Node1 = prev.next
            Node2 = prev.next.next
           
            prev.next =  Node2
            Node1.next = Node2.next
            Node2.next = Node1

            prev = Node1

        return new_head.next

全部评论

相关推荐

明明就不饿:看不懂你到底会啥,什么岗位
点赞 评论 收藏
分享
零零幺零零幺:至少再做一个项目,然后猛投小厂,不然有点难
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务