leetcode Swap Nodes in Pairs 链表
来源:互联网 发布:事业单位粉笔软件 编辑:程序博客网 时间:2024/05/24 07:12
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.
第90道题了,这个是每一对节点就进行交换,题目说明不能修改list的值,也就是不能只交换数据。
定义了一个新节点newhead,用于返回,还有一个pre节点记录已经反转后的list的末尾,first节点表示是需要交换的第一个节点,second表示的是需要交换的第二个节点。
大概思路就是先把second的next给first的next,然后second指向first,把second接到pre的后面,用pre记录first,再更新first和second的位置
class Solution {public:ListNode* swapPairs(ListNode* head) {if (!head) return NULL;ListNode*newhead, *first = head, *second = head->next, *pre = NULL;newhead = second;if (!second) return head; //只有一个直接返回headwhile (second)//有第二个可以进行交换{first->next = second->next;//把second指向的给first指向second->next = first;//second指向firstif (pre!=NULL)//第一次没有pre{pre->next = second;}pre = first;//把带处理的第一个接到pre后面if (first->next)//有带处理的{first = first->next;second = first->next;}else{return newhead;//后面已经没值了直接返回}}return newhead;}};
0 0
- [Leetcode 24 链表]Swap Nodes in Pairs
- leetcode Swap Nodes in Pairs 链表
- leetcode #24 swap nodes in pairs 链表
- [LeetCode][链表]Swap Nodes in Pairs
- [leetcode] 【链表】24. 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
- 登录 ftp服务器
- 关于php中反射类的简单理解:如何拿到一个类的所有方法(public+protected+private)
- 对touch事件传递的简单理解
- linux下查看进程和端口
- 分布的拟合和检验
- leetcode Swap Nodes in Pairs 链表
- ubuntu文件管理常用命令
- 以遍历的形式读取HBase数据库
- Android 代码设置RelativeLayout元素居中
- c++ 单词转换 map对象
- 升级 Mellanox ConnectX-3 EN 10/40 Gbps 网卡固件
- Android 消息处理源码分析(1)
- 共享内存是最快的一种IPC方式
- asp .net 获取当前url各种属性