(java)leetcode-24
来源:互联网 发布:c指针数组赋值 编辑:程序博客网 时间:2024/06/06 02:32
Swap Nodes in Pairs
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 maynot modify the values in the list, only nodes itself can be changed.
解题思路:
就是不断地交换相邻两个节点的next,不断循环下去直到结束,记得就是在交换当前两个节点的next(例如k跟k+1)时,记得更新k-1的next。
/** * 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 || head.next == null) return head; //当前节点k ListNode p = head; //下一节点k+1 ListNode q = head.next; //记录上一节点k-1 ListNode r = null; head = q; while(p != null && q != null) { //交换next p.next = q.next; q.next = p; //更新上一节点的next if(r != null) r.next = q; //更新节点 r = p; p = p.next; if(p != null) q = p.next; } return head; }}
0 0
- (java)leetcode-24
- Leetcode(java)
- leetcode java
- [2016/06/24] LeetCode / Java - Day 02 -
- [LeetCode]Next Permutation java leetcode
- LeetCode: Two Sum (Java)
- [Leetcode] Two Sum (Java)
- [Leetcode] ZigZag Conversion (Java)
- [Leetcode] Reverse Integer (Java)
- [Leetcode] Palindrome Number (Java)
- [Leetcode] Valid Parentheses (Java)
- [Leetcode] Generate Parentheses (Java)
- [Leetcode] Remove Element (Java)
- [Leetcode] Implement strStr() (Java)
- [Leetcode] Next Permutation (Java)
- [Leetcode] Valid Sudoku (Java)
- [Leetcode] Sudoku Solver (Java)
- [Leetcode] Combination Sum (Java)
- 开源深度学习库BigDL在阿里云E-MapReduce上的实践
- 奇怪的分式
- [bzoj4503]两个串
- ios开发中故事板和代码之间的关系
- maven安装配置
- (java)leetcode-24
- JS面向对象-原型链的认知
- SVN和Git 介绍,区别,优缺点,适用范围总结
- AES/RSA加密开源库使用
- 讯飞开发遇到的坑----开发文档缺少一个依赖库
- 线程同步
- 毕业两年的我--奋斗中的程序员
- git github 初识——安装与学习资源
- Linux运维笔记-文档总结-用户操作与权力下放