Swap Nodes in Pairs
来源:互联网 发布:大数据聚类分析 编辑:程序博客网 时间:2024/05/29 09:16
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; } * } */public class Solution { public ListNode swapPairs(ListNode head) { if (head == null ) {//如果链表为空,返回空 return null;} if (head.next == null) {//如果链表有一个节点,则返回头节点return head;} ListNode dummy = new ListNode(0);//创建辅助节点dummy.next = head; ListNode first = dummy; ListNode cur = head; while (cur != null && cur.next != null) { //节点间的next值交换first.next = cur.next;cur.next = cur.next.next;first.next.next = cur;//重新设置新的开始位置first = cur;cur = cur.next;} //返回链表的头节点 return dummy.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
- 微信模板消息
- 一般项目方案特点
- 二分法查找
- eclipse如何快速查找某个类
- 一个Java实现的多层爬取器架构
- Swap Nodes in Pairs
- 全面学习,8张图简单理解Java,
- C/C++不同文件夹下包含头文件的方法及#include的使用
- Linux下添加用户并赋予root权限
- PendingIntent详解
- Qt学习之四:使用Qt+OpenCV创建GUI应用
- 第二周项目2-- 程序的多文件组织
- 单例模式的七种写法
- (OK) Multipath TCP with real Smartphone applications