[leetcode 24]Swap Nodes in Pairs-----成对翻转链表中的节点
来源:互联网 发布:用js实现手机号 编辑:程序博客网 时间:2024/05/21 01:47
Question:
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.
分析:比较简单,别忘了记录前面的节点即可,避免丢节点。
代码如下:
<span style="font-size:14px;">/** * 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* l = head; ListNode* r = head->next; ListNode* p; head = r; l->next = r->next; r->next = l; while(l->next != NULL && l->next->next != NULL){ p = l; l = l->next; r = l->next; l->next = r->next; r->next = l; p->next = r; } return head; }};</span>
0 0
- [leetcode 24]Swap Nodes in Pairs-----成对翻转链表中的节点
- leetcode解题之24. Swap Nodes in Pairs java 版(成对翻转链表)
- LeetCode24 Swap Nodes in Pairs 成对交换链表节点
- [LeetCode] Swap Nodes in Pairs(成对交换节点)
- [LeetCode]Swap Nodes in Pairs 成对交换
- 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(链表中按要求交换节点)
- Swap Nodes in Pairs 成对交换结点
- Swap Nodes in Pairs 链表交换相邻的节点
- Leetcode Swap Nodes in Pairs 交换链表的节点对
- Leetcode #24. Swap Nodes in Pairs 链表节点交换 解题报告
- 451.Swap Nodes in Pairs-两两交换链表中的节点(容易题)
- LeetCode(24)Swap Nodes in Pairs
- [LeetCode 24] Swap Nodes in Pairs
- [leetcode 24]Swap Nodes in Pairs
- HDOJ 2026 首字母变大写
- Python @property
- windows客户端开发--使用tinyxml库解析xml文件
- android学习必备java基础知识——内部类
- AFNetWorking 3.0请求返回NSData类型数据解决方案--iOS开发
- [leetcode 24]Swap Nodes in Pairs-----成对翻转链表中的节点
- C/C++知识点整理(2)
- ubuntu下的linux指令学习-alias adduser apmd
- JVM —— Java 对象占用空间大小计算
- 小画板demo
- BOM简介
- iOS开发-系统自带的正则表达式
- 【嵌入式开发】:一篇关于嵌入式开发实验室工作流程的总结
- 接口与抽象类的总结