scala反转链表 leetcode 206 Reverse Linked List
2017-08-13 22:50
986 查看
class ListNode(value:Int) { val v=value; var next:ListNode=null}def reverse(l1: ListNode): ListNode = {var l2=l1;var pre:ListNode=nullwhile (l2!=null){val tmp=l2.nextl2.next=prepre=l2l2=tmp;}pre}
在scala中,参数是val,因此只能将其赋值给var l2,再用tmp临时变量储存下一个节点,用l2=tmp将指针后移,实现对链表遍历的功能。
同时,将l2的next设置成pre,在链表的遍历过程中,l2指向前一个节点,再将当前节点赋值给pre,遍历完成后,pre的每一个节点都是
指向l2的前一个节点,pre的最后一个节点(在遍历第一个节点时)指向了null。
相关文章推荐
- LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)
- LeetCode206——Reverse Linked List 反转链表
- LeetCode 206 Reverse Linked List(反转链表)(四步将递归改写成迭代)(*)
- leetcode206-Reverse Linked List-反转链表
- [LeetCode-206] Reverse Linked List(链表反转)
- leetcode206/92---Reverse Linked List I/II(反转链表)
- 剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解
- leetcode解题之206 # Reverse Linked List Java版 (使用头插法反转链表)
- leetcode:Reverse Linked List II (反转链表中的一部分)【面试算法题】
- Leetcode Reverse Linked List 反转单链表
- LeetCode 206 Reverse Linked List (逆置链表)
- C实现 LeetCode->Reverse Linked List (双指针大法)(单链表反转)
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- LeetCode-Reverse Linked List II(反转链表)
- 【leetcode】【单链表】【206】Reverse Linked List
- LeetCode 206 Reverse Linked List(链表操作)
- 【leetcode】【单链表】【206】Reverse Linked List
- [Leetcode] Reverse linked list ii 反转链表
- leetCode 92.Reverse Linked List II (反转链表II) 解题思路和方法
- 【LeetCode-面试算法经典-Java实现】【206-Reverse Linked List(反转一个单链表)】