【leetcode】Swap Nodes in Pairs
来源:互联网 发布:淘宝店家推荐 编辑:程序博客网 时间:2024/06/16 04:46
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.
完整可运行程序(包括输出):
#include <cstdio>using namespace std;struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};ListNode *swapPairs(ListNode *head){ if(head == NULL || head->next == NULL) return head; // At least two nodes ListNode *p1 = head, *p2 = head->next, *p3 = NULL; head = head->next; while(p1 != NULL) { p2 = p1->next; p3 = p2->next; p2->next = p1; if(p3 == NULL || p3->next == NULL) { p1->next = p3; break; } else p1->next = p3->next; p1 = p3; } return head;}void print_list(ListNode *head){ if(head == NULL) printf("\n"); else printf("%d", head->val); ListNode *p = head->next; while(p != NULL) { printf("->%d", p->val); p = p->next; } printf("\n");}int main(){ int n; scanf("%d", &n); int i, tmp; ListNode *head = NULL, *p = NULL, *q = NULL; for(i = 0; i < n; i++) { scanf("%d", &tmp); q = new ListNode(tmp); if(head == NULL) { head = q; p = head; } else { p->next = q; p = p->next; } } printf("Before swap the list:\n"); print_list(head); printf("After swap the list:\n"); head = swapPairs(head); print_list(head); return 0;}
0 0
- LeetCode:Swap Nodes in Pairs
- LeetCode: Swap Nodes in Pairs
- [Leetcode] Swap Nodes in Pairs
- LeetCode : Swap Nodes in Pairs
- [LeetCode] Swap Nodes in Pairs
- Leetcode: Swap nodes in pairs
- [LeetCode]Swap Nodes in Pairs
- [LeetCode]Swap Nodes in Pairs
- LeetCode-Swap Nodes in Pairs
- LeetCode - Swap Nodes in Pairs
- LeetCode | Swap Nodes in Pairs
- 【leetcode】Swap Nodes in Pairs
- Leetcode: Swap Nodes in Pairs
- LeetCode - Swap Nodes in Pairs
- 【LeetCode】Swap Nodes in Pairs
- Leetcode: Swap Nodes in Pairs
- Leetcode Swap Nodes in Pairs
- LeetCode Swap Nodes in Pairs
- 中文FLEX例子
- haartraining生成.xml文件过程
- Eclipse Java注释模板设置~~
- python 单步调试
- 2014-04-17-用IIS发布网站时出现的错误
- 【leetcode】Swap Nodes in Pairs
- Nginx 网页压缩传输
- 基础学习笔记之opencv(2):haartraining前将统一图片尺寸方法
- Foundation小结02
- LIS DP
- spring quartz自动定时任务配置
- 安卓手机怎么上推特(twitter)关注明星李明浩E9加速器分享
- [转]CV 参考手册
- error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏