剑指offer第五题
2024-10-10 11:12:10
输入一个链表,从尾到头打印链表每个节点的值。
但是 根据往常的经验 如果if里面有return了 就不要写else了
import java.util.ArrayList;
import java.util.Stack; class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
} public class FromTailToHead {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<Integer>();
if(null==listNode ){
return list;
} Stack<Integer> stack = new Stack<Integer>();
ListNode nextNode = listNode;
while(null!=nextNode){
stack.push(nextNode.val);
nextNode = nextNode.next;
}
while(!stack.isEmpty()){
list.add(stack.pop());
}
return list;
}
}
下面是递归调用
/*
* 递归实现
*/
public class FromTailToHead2 {
public static void printListFromTailToHead(ListNode Head) {
if(null!=Head){
if(null!=Head.next){
printListFromTailToHead(Head.next);
}
System.out.print(Head.val+"\t");
}
} public static void main(String[] args) {
ListNode n1 = new ListNode(1);
ListNode n2 = new ListNode(2);
ListNode n3 = new ListNode(3);
n1.next=n2;
n2.next=n3;
n3.next=null;
ListNode Head =n1;
while(Head!=null){
System.out.print(Head.val+"\t");
Head=Head.next;
}
System.out.println();
printListFromTailToHead(n1); }
}
最新文章
- Oracle EBS Form Builder使用Java beans创建窗体
- python int与str转换
- lintcode :nth to Last Node In List 链表倒数第n个节点
- html-----017
- Python Socket,How to Create Socket Server? - 网络编程实例
- adobe reader安装完成之前被中断,错误代码150210解决方法
- 破解企业QQ对个人QQ登陆的限制(原创)
- axis和cxf集成Springmvc的使用
- MySQL数据库学习02: SELECT语句
- Java多线程JUC
- spring boot + vue + element-ui全栈开发入门——spring boot后端开发
- spring源码1:基本概念
- 使用 Composer 安装Laravel扩展包的几种方法
- 京东某商品页面的简单爬取 --Pyhon网络爬虫与信息获取
- javascrpit的理解
- [leetcode]Substring with Concatenation of All Words @ Python
- 对于android浏览器的一些看法
- cuffquant 定量的结果全部为-nan
- npm package.json中的dependencies和devDependencies的区别
- 工具IDEA 配置springboot+maven项目