Swap Nodes in Pairs
来源:互联网 发布:originpro数据拟合 编辑:程序博客网 时间:2024/05/16 06:54
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.
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.
思路:题目要求交换链表的相邻的两个节点,但是不许修改节点的数据,只是移动节点的位置。可以给这个链接加一个头节点然后进行处理,代码如下:
/** * 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) { ListNode *res=new ListNode(0),*pre=res,*cur; pre->next=head; cur=head; while(cur&&cur->next) { pre->next=cur->next; cur->next=cur->next->next; pre->next->next=cur; pre=cur; cur=cur->next; } return res->next; }};方法二:在discuss上看到有使用递归的方式,可以参考下
class Solution {public: ListNode* swapPairs(ListNode* head) { if(head == NULL||head->next==NULL) return head; ListNode* next = head->next; head->next = swapPairs(next->next); next->next = head; return next; }};
0 0
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes In Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- Swap Nodes in Pairs
- 代理类的实现
- 使用SQL Server 获取插入记录后的ID(自动编号)
- 梳理caffe代码adadelta、adagrad、adam、nesterov、rmsprop_solver(十六)
- mongodb性能调试基本技巧
- 判断一个类是否是另一个类(私有)
- Swap Nodes in Pairs
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- java的线程安全对于不同变量的影响
- java:动态代理
- Spring Bean作用域实例
- 处理Nhibernate中遇到的NullReferrence Exception问题
- webpack入门(六)——html-webpack-plugin
- java的synchronized的使用场景简介以及在不同场景下的差异
- markdown 转义