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
  • 相关阅读:
    mac 程序 Access-JSON-Data
    第一个 mac 程序 Create-JSON-Model
    CATransform3D的m34使用
    超级好用的解析JSON数据的网站
    iOS设计模式
    iOS设计模式
    iOS设计模式
    iOS设计模式
    iOS设计模式
    iOS设计模式
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4319890.html
Copyright © 2011-2022 走看看