单向链表的反向(算法的基础知识)
来源:互联网 发布:苹果有些软件不信任 编辑:程序博客网 时间:2024/06/08 15:29
描述:输入一个链表,从尾到头打印链表每个节点的值。
代码:
方法一:借助堆栈的先进后出来实现:
import java.util.Stack;import java.util.ArrayList;public class Solution {public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> stack = new Stack<>(); while (listNode != null) { stack.push(listNode.val); listNode = listNode.next; } ArrayList<Integer> list = new ArrayList<>(); while (!stack.isEmpty()) { list.add(stack.pop()); } return list; }}
方法二:借助递归实现(递归的本质还是使用了堆栈结构)
import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list=new ArrayList<Integer>(); ListNode pNode=listNode; if(pNode!=null){ if(pNode.next!=null){ list=printListFromTailToHead(pNode.next); } list.add(pNode.val); } return list;}
}
0 0
- 单向链表的反向(算法的基础知识)
- 【链表篇】单向链表的基础知识
- 数据结构与算法-----单向线性链表(逆转和反向打印)
- 循环单向链表的相关算法
- 将一个单向链表反向链接
- 数据结构与算法分析-单向链表的实现
- 判断一个单向链表是否有环路的算法
- 线性单向链表的逆序排列算法一例
- 单向循环链表的创建/插入/删除/输出算法
- 对于单向链表的10几种常用算法
- [算法练习]找到单向链表的中间节点
- 算法面试:单向链表节点的奇偶排序。
- 面试算法:双指针单向链表的自我复制
- 单向链表算法
- 静下心来写算法(之单向链表)
- 数据结构与算法(单向链表)
- 单向链表的几道题
- 单向链表的几道题
- Android Studio 实用快捷键
- cocos2dx项目使用svn注意事项
- maven安装与配置
- 最清晰的Android多屏幕适配方案
- 自己搭建内网服务器
- 单向链表的反向(算法的基础知识)
- 洛谷 P2335 [SDOI2005]位图
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- 【补习】二维数组,指针和函数
- LeetCode 226. Invert Binary Tree
- Matplotlib 学习笔记
- Oracle-约束小结
- mark
- PHP常用函数