zoukankan      html  css  js  c++  java
  • 【LeetCode OJ】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.

    代码:

     1 struct ListNode
     2 {
     3     int val;
     4     ListNode *next;
     5     ListNode(int x) : val(x), next(NULL) {}
     6     
     7 };
     8 ListNode *swapPairs(ListNode *head)
     9 {
    10     if (head == NULL || head->next == NULL)
    11         return head;
    12     ListNode *p = head;
    13     ListNode *q = p->next;
    14     while (q)
    15     {
    16         int temp;
    17         temp = p->val;
    18         p->val = q->val;
    19         q->val = temp;
    20         if (q->next != NULL)
    21         {
    22             p = q->next;
    23             if (p->next != NULL)
    24                 q = p->next;
    25             else
    26                 break;
    27             
    28         }
    29             else
    30                 break;
    31         }
    32         return head;
    33     }
  • 相关阅读:
    jsp第六周作业
    jsp第三周作业
    JSP第二次作业
    软件测试课堂练习(3.4)
    10.21
    10.7
    9.30
    9.23
    第四次作业
    第七周作业
  • 原文地址:https://www.cnblogs.com/xujian2014/p/4385909.html
Copyright © 2011-2022 走看看