码迷,mamicode.com
首页 > 其他好文 > 详细

24. 两两交换链表中的节点 - LeetCode

时间:2021-02-08 12:14:55      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:lan   solution   tno   问题   直接   new   指针   head   lis   

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

题目链接

直接换

class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head == null) return null;
        if(head.next == null) return head;
        ListNode newHead = head.next;
        ListNode p1 = new ListNode(0, head);
        ListNode p2 = head;
        while(p2 != null && p2.next != null){
            ListNode p3 = p2.next;
            p1.next = p3;
            p2.next = p3.next;
            p3.next = p2;
            p1 = p2;
            p2 = p1.next;
        }
        return newHead;
    }
}
  • 用两个指针分别指向要交换的两个结点的父结点,然后迭代交换,注意交换过程中的逻辑问题

24. 两两交换链表中的节点 - LeetCode

标签:lan   solution   tno   问题   直接   new   指针   head   lis   

原文地址:https://www.cnblogs.com/xiafrog/p/14384071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!