zoukankan      html  css  js  c++  java
  • Leetcode-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.

    Have you met this question in a real interview?
     
    Solution:
     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     int val;
     5  *     ListNode next;
     6  *     ListNode(int x) {
     7  *         val = x;
     8  *         next = null;
     9  *     }
    10  * }
    11  */
    12 public class Solution {
    13     public ListNode swapPairs(ListNode head) {
    14         if (head==null || head.next==null) return head;
    15         ListNode preHead = new ListNode(0);
    16         preHead.next = head;
    17         ListNode pre = preHead;
    18         ListNode cur = head;
    19 
    20         while (cur!=null && cur.next!=null){
    21            ListNode temp = cur.next.next;
    22            pre.next = cur.next;
    23            cur.next.next = cur;
    24            cur.next = temp;
    25            pre=cur;
    26            cur = cur.next;
    27         }
    28 
    29         return preHead.next;
    30     }
    31 }
  • 相关阅读:
    mysql单个表内去重多个重复的字段
    scrapy xpath有空格处理
    有道选择语言性翻译
    豆瓣源
    scrapy 编码
    西祠代理获取
    有道翻译
    远程连接服务器for Linux
    ECshop通过文章分类的ID实现不同模板
    创建WordPress管理员账号
  • 原文地址:https://www.cnblogs.com/lishiblog/p/4111921.html
Copyright © 2011-2022 走看看