LeetCode之旅(21)-Swap Nodes in Pairs
来源:互联网 发布:apache日志 json 编辑:程序博客网 时间:2024/06/07 01:01
题目:
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.
思路:
- 首先是判断head和head.next为空的情况,直接返回head
- 然后设置first和second两个变量,用来记录一前一后两个元素
- 设置pre来记录上一次最后的元素。pre.next = second; -
代码:
/** * 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; } ListNode first = head; ListNode second = head.next; ListNode pre = null; ListNode swap = null; if(second != null){ head = second; } while(first != null&&second != null){ swap = second.next; second.next = first; first.next = swap; if(pre != null){ pre.next = second; } pre = first; first = swap; if(swap != null){ second = swap.next; } } return head; }}
0 0
- LeetCode之旅(21)-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之24----Swap Nodes in Pairs
- Leetcode 之 Swap Nodes in Pairs
- 【Java】LeetCode进阶之路(Swap Nodes in Pairs)
- LeetCode(24) 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
- 解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
- angular.js实现列表orderby排序
- oracle自定义类型
- Day4、Python
- 序
- LeetCode之旅(21)-Swap Nodes in Pairs
- 提高孩子速度的五招
- idea 检出 maven工程下源文件目录main/src/java问题
- 双目测距原理
- 链表队列学习
- Fedora修复grub2启动项grub rescue
- Linux系统信息查看命令
- 如何做到 jQuery-free?
- 回调的原理、实现与应用