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     }
  • 相关阅读:
    .Spring事务管理
    什么叫事务;什么叫业务逻辑;什么叫持久化
    Hibernate基本应用01
    Maven整理
    责任链模式和观察者模式
    SpringBoot基础入门
    反射总结
    多线程
    IO流
    File类总结
  • 原文地址:https://www.cnblogs.com/xujian2014/p/4385909.html
Copyright © 2011-2022 走看看