剑指offer——反转链表
来源:互联网 发布:海岛骑兵医师升级数据 编辑:程序博客网 时间:2024/05/22 17:20
/*思路:
想办法将链表的节点按照顺序存储在有序集合里,再逆序遍历反转指向即可,注意第一个元素的指向原本是指向第二个元素,逆序反转时要改成指向null。
此处用了栈更加方便,直接将链表的元素依次压栈,再将栈中元素依次弹出,弹出过程,将每一个之前弹出的元素的next置为当前弹出的元素,最后一个元素置null即可。
*/
import java.util.ArrayList;import java.util.Stack;//输入一个链表,反转链表后,输出链表的所有元素。public class 反转链表{ public static ListNode ReverseList(ListNode head) { //至少有一个结点 if(head==null) return null; Stack<ListNode> linkList=new Stack<ListNode>(); ListNode listNode=head; while(listNode!=null){ linkList.push(listNode); listNode=listNode.next; } //倒序连接 ListNode currentNode=linkList.pop(); head=currentNode; int stackSize=linkList.size(); for(int i=0;i<stackSize;i++){ listNode=linkList.pop(); currentNode.next=listNode; currentNode=listNode; //尾结点的next置null if(i==stackSize-1){ currentNode.next=null; } } return head; }}
阅读全文
0 0
- 剑指offer——反转链表
- 《剑指offer》——反转链表
- 《剑指offer》——反转链表
- 剑指offer——反转链表
- 剑指offer——反转链表
- 剑指offer——反转链表
- 剑指offer——反转链表
- 剑指offer——反转链表
- 剑指offer——反转链表
- 剑指Offer——反转链表
- 剑指offer——反转链表
- 剑指offer—反转链表
- 剑指offer(15)—反转链表
- 剑指offer—反转链表
- 《剑指Offer》学习笔记——反转链表
- 剑指offer——面试题16:反转链表
- 剑指offer——反转链表 Java版
- 剑指Offer——(15)反转链表
- 测试代码运行后不报错,数据库也会生成表,但控制台不能输出。哪位大神能帮我解决?
- composer 安装yii2框架
- 504. Base 7
- 关于ASP.NET 发送电子邮件
- 原型模式
- 剑指offer——反转链表
- autolayout异常解决
- cURL请求接口出现name lookup timed out
- JVM内存分几种?
- Fibonacci 快速幂矩阵
- 安卓获取系统当前时间
- presentations.open 操作ppt时报错
- 排列组合 (组合数 思维题)
- 干货 | Android 8.0正式版发布:Android O 新特性和行为变更总结