24. Swap Nodes in Pairs
来源:互联网 发布:固定资产投资的算法 编辑:程序博客网 时间:2024/05/21 09:21
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.
原题链接:https://leetcode.com/problems/swap-nodes-in-pairs/
思路
需要一个辅助指针来帮忙。这里就是指针指向的问题,画图即可
代码(C++)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *swapPairs(ListNode *head) { if(head==NULL || head->next==NULL) return head; ListNode *helper=new ListNode(0); ListNode *ret=head; ListNode *cur=helper; while(ret && ret->next) { ListNode *next=ret->next->next; cur->next=ret->next; cur=cur->next; cur->next=ret; cur=cur->next; cur->next=NULL; ret=next; } if(ret) cur->next=ret; return helper->next; }};
0 0
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24.Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 高级软件工程师(面试题)
- bzoj 3226: [Sdoi2008]校门外的区间(线段树)
- Java中级开发工程师知识点归纳
- C#Windows窗体组成基本思路和控件使用
- 系统软件的质量属性
- 24. Swap Nodes in Pairs
- ASP.NET MVC中 使用邮件模板的两种方式
- POJ【数论/组合/博弈论】题目列表
- 理解Java中的IO
- Android-《Managing Audio Playback》
- LVQ学习向量量化网络
- 文字大小的设置
- Spring学习第三天:配置Bean-1
- C# SHA256 hash helper