zoukankan      html  css  js  c++  java
  • Swap Nodes in Pairs

    Swap Nodes in Pairs 

    问题:

    Given a linked list, swap every two adjacent nodes and return its head.

    For example,
    Given 1->2->3->4, you should return the list as 2->1->4->3.

    Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

    思路:

      画画图即可,加入几个first second dummy的变量就顺理成章了

    我的代码:

    public class Solution {
        public ListNode swapPairs(ListNode head) {
            if(head == null)    return head;
            ListNode dummy = new ListNode(-1);
            dummy.next = head;
            ListNode pre = dummy;
            ListNode first = head;
            ListNode second = head.next;
            while(first != null && second != null)
            {
                ListNode next = second.next;
                pre.next = second;
                second.next = first;
                first.next = next;
                pre = first;
                if(next == null) return dummy.next;
                first = next;
                second = next.next;
            }
            return dummy.next;
        }
    }
    View Code
  • 相关阅读:
    撒谎
    可怜的猪
    GIS学习笔记(五)
    国产木马冰河2.2
    矛盾
    GIS学习笔记(六)
    男人如衣服
    VS2005快捷键大全
    慧悟
    DOS命令
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4319890.html
Copyright © 2011-2022 走看看