算法题:lintcode#35 翻转链表(java)
来源:互联网 发布:淘宝一件代发怎么付款 编辑:程序博客网 时间:2024/06/05 01:52
样例:
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
思路:
1.首先,传入头节点,进行非空判断
2.实现链表翻转的思路:从尾节点开始,第个节点依次指向前一个节点,然后将头节点指向空,这样就只留下了以原尾节点开始,原头节点结束的链表
3.本题具体实现方法:用名为curr的节点来代表前一个节点,名为next的节点代表后一个节点,名为temp的节点来保存next.next的节点
这样,通过赋值,三个节点依次向链表尾移动,使后一个节点指向前一个节点,直到next为空值,循环结束
解题:
1.在另外一个class文件中定义节点
public class ListNode { public int val; public ListNode next; public ListNode(int val) { this.val = val; this.next = null; }}2.翻转链表
public class Solution { public ListNode reverse(ListNode head) { if (head == null || head.next == null) return head; ListNode curr = head; ListNode next = curr.next; while (next!=null ){ ListNode temp= next.next; next.next =curr; curr=next; next=temp; } head.next=null;//将头节点指向空,只留下以原尾节点开始,原头节点结束的链表 return curr; }}
阅读全文
0 0
- 算法题:lintcode#35 翻转链表(java)
- 算法题:lintcode#175 翻转二叉树(java)
- lintcode 35 翻转链表
- LintCode 35 翻转链表
- LintCode-翻转链表
- lintcode 翻转链表
- LintCode:翻转链表
- lintcode,翻转链表
- 翻转链表,lintcode
- Lintcode 翻转链表
- LintCode 翻转链表
- 翻转链表-LintCode
- LintCode : 翻转链表
- [Lintcode]翻转链表
- lintcode--翻转链表
- Lintcode翻转链表
- LintCode 翻转链表
- lintcode翻转链表
- 数据结构-线性结构之队列
- 作业5
- unity3d 2d游戏相关
- 数组去重的几种方法
- Vegas如何使用透明图像作遮罩?
- 算法题:lintcode#35 翻转链表(java)
- JavaSE基础正则表达式
- python yield 和 yield from用法总结
- MySql计算字段的长度
- 解决SQL Developer无法远程连接Oracle 12c问题
- php---第一个扩展开发
- gcc rpm_使用rpm -qi gcc命令来获取gcc包的版本,安装日期等信息
- Serenity安装和创建DEMO--学习第一天
- Android获取Manifest中<meta-data>元素的值