算法 Swap Nodes in Pairs
来源:互联网 发布:simulink转换成c语言 编辑:程序博客网 时间:2024/05/21 10:48
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.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode swapPairs(ListNode head) {
if(head==null||head.next==null)
{
return head;
}
ListNode newHead=head.next;
ListNode next=head.next;
ListNode temp=null,temp2=null;
while(head!=null&&next!=null)
{
temp=next.next;
next.next=head;
head.next=temp;
if(temp2!=null)
{
temp2.next=next;
}
if(temp!=null&&temp.next!=null)
{
temp2=head;
head=temp;
next=temp.next;
}
else
{
break;
}
}
return newHead;
}
}
- 算法 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
- C#调用存储过程详解
- 堆 和 栈的 区别(经典)(转)
- 递归练习之求立方根
- 图像处理之LOMO特效
- Mybatis通用Mapper
- 算法 Swap Nodes in Pairs
- Java生成缩略图Thumbnailator(转载)
- MVC总结--数据传递
- ubuntu交叉编译器及反汇编的使用
- Two different y axes on the same plot
- hander message 传自定义List<Object>
- CTreeCtrl变量的遍历
- 免费开源轻量级商业产品图表库
- 哈哈,CSDN又支持Windows Live Writer了