LeetCode-Reverse Linked List
来源:互联网 发布:登录别人淘宝会发现吗 编辑:程序博客网 时间:2024/06/16 20:34
Problem:
Reverse a singly linked list.
click to show more hints.
Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?
Analysis:
单链表逆置,两种方法,递归和迭代。
- 递归是如果head不是空或者head.next非空,将head.next递归逆置,然后将head和head.next换位置,并处理好head.next=null.
- 迭代基本会有一个pre和一个p以及一个temp节点q。首先确定pre,赋值p,赋值pre.next,申明节点q。然后循环:赋值q,赋值p.next=pre,pre=p(移动pre到最当前节点),p=q(移动p到下一个节点)。返回pre.
Anwser1(递归):
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode reverseList(ListNode head) { if(head == null) return null; if(head.next==null) return head; else { ListNode temp = head.next; ListNode n = reverseList(temp); temp.next = head; head.next=null; return n; } }}
Anwser2(迭代):
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode reverseList(ListNode head) { if(head == null) return null; if(head.next==null) return head; ListNode pre=head; ListNode p= pre.next; pre.next = null; ListNode q ; while(p!=null){ q = p.next; p.next = pre; pre = p; p = q; } return pre; }}
0 0
- [LeetCode]Reverse Linked List
- [Leetcode] Reverse Linked List
- leetcode Reverse Linked List
- [LeetCode] Reverse Linked List
- [LeetCode]Reverse Linked List
- Leetcode---Reverse Linked List
- [leetcode] Reverse Linked List
- [leetcode]Reverse Linked List
- Leetcode Reverse Linked List
- [leetcode] Reverse Linked List
- leetcode Reverse Linked List
- Reverse Linked List[LeetCode]
- leetcode--Reverse Linked List
- LeetCode Reverse Linked List
- leetcode: Reverse Linked List
- [leetcode] Reverse Linked List
- LeetCode - Reverse Linked List
- LeetCode || Reverse Linked List
- Learning Python(2)--在Ubuntu中更改默认的python版本
- 【NOI2014】【BZOJ3669】魔法森林
- C语言之MD5算法
- google 上不去破解方法
- centos 6.4 磁盘故障 更换磁盘
- LeetCode-Reverse Linked List
- Qt中的并发
- Web画面禁用按键
- asp.net(c#)网页跳转七种方法小结
- iOS 异步下载图片
- STRTOK函数和STRTOK_R函数
- 准新人不可错过:让婚纱照惊艳的七个小秘密
- 关于做RTL代码的parameter,define管理
- Shell脚本:使用rsync备份文件/目录