首页 > 其他 > 详细

【LeetCode】24. Swap Nodes in Pairs

时间:2016-12-24 14:07:17      阅读:127      评论:0      收藏:0      [点我收藏+]

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 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     struct ListNode *next;
 6  * };
 7  */
 8 struct ListNode* swapPairs(struct ListNode* head) {
 9     int flag=0,tmp=0;
10     struct ListNode* p=head;
11     while(p!=NULL){
12         if(0==flag&&p->next!=NULL){
13             tmp=p->val;
14             p->val=p->next->val;
15             flag=1;
16         }
17         else if(1==flag){
18             p->val=tmp;
19             flag=0;
20         }
21         p=p->next;
22     }
23     return head;
24 }

 

【LeetCode】24. Swap Nodes in Pairs

原文:http://www.cnblogs.com/fcyworld/p/6217114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!