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

    class Solution {
    public:
        ListNode *swapPairs(ListNode *head) {
            ListNode *a = NULL;
            ListNode *b = NULL;
            ListNode *tail = NULL;
            ListNode *nhead = NULL;
            a = head;
            while (a != NULL && (b = a->next) != NULL) {
                a->next = b->next;
                b->next = a;
                if (tail != NULL) {
                    tail->next = b;
                } else {
                    nhead = b;
                }
                tail = a;
                a = a->next;
            }
            if (nhead == NULL) {
                nhead = head;
            }
            return nhead;
        }
    };

    准备六级,水一发

    第二轮:

    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.

    class Solution {
    public:
        ListNode *swapPairs(ListNode *head) {
            if (head == NULL || head->next == NULL) {
                return head;
            } 
            ListNode holder(0);
            ListNode* prev = &holder;
            ListNode* cur = head;
            
            while (cur != NULL) {
                ListNode* next = cur->next;
                if (next == NULL) {
                    break;
                }
                head = next->next;
                next->next = cur;
                cur->next = head;
                prev->next = next;
                prev = cur;
                cur = cur->next;
            }
            return holder.next;
        }
    };
  • 相关阅读:
    .net 中文显示乱码问题(Chinese display with messy code)
    Compare the value of entity field.
    人见人爱A^B 题解
    人见人爱A-B 题解
    全局变量
    第39级台阶 题解
    马虎的算式 题解
    做题技巧
    inline用法
    queue函数用法
  • 原文地址:https://www.cnblogs.com/lailailai/p/3766541.html
Copyright © 2011-2022 走看看