剑指offer系列一:从尾到头打印链表
来源:互联网 发布:保融软件 编辑:程序博客网 时间:2024/06/09 00:24
题目描述:
给定一个链表,从尾部到头部打印输出链表结点的值
方法一:利用栈实现
遍历入栈,再遍历出栈。
public class ListNode { Integer val; public ListNode next; public ListNode(Integer val) { this.val = val; }}public static class PrintNode { public void PrintListReversinglyIteratively(ListNode head) { if (head == null) { return; } Stack<ListNode> stack = new Stack<ListNode>(); while (head != null) { stack.push(head); head = head.next; } while (!stack.isEmpty()) { ListNode node = stack.pop(); System.out.print(node.val + ","); } }}public static void main(String[] args) { ListNode node1 = new ListNode(1); ListNode node2 = new ListNode(2); ListNode node3 = new ListNode(3); ListNode node4 = new ListNode(4); ListNode node5 = new ListNode(5); ListNode node6 = new ListNode(6); ListNode node7 = new ListNode(7); ListNode node8 = new ListNode(8); node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = node6; node6.next = node7; node7.next = node8; node8.next = null; new PrintNode().PrintListReversinglyIteratively(node1); }
方法二:利用递归实现
public class ListNode { Integer val; public ListNode next; public ListNode(Integer val) { this.val = val; }}public static class PrintNode { public void PrintListReversinglyIteratively2(ListNode head) { if (head == null) { return; } PrintListReversinglyIteratively2(head.next); System.out.print(head.val + ","); }}public static void main(String[] args) { ListNode node1 = new ListNode(1); ListNode node2 = new ListNode(2); ListNode node3 = new ListNode(3); ListNode node4 = new ListNode(4); ListNode node5 = new ListNode(5); ListNode node6 = new ListNode(6); ListNode node7 = new ListNode(7); ListNode node8 = new ListNode(8); node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = node6; node6.next = node7; node7.next = node8; node8.next = null; new PrintNode().PrintListReversinglyIteratively2(node1); }
阅读全文
0 0
- 剑指offer系列一:从尾到头打印链表
- 剑指offer系列源码-从尾到头打印链表
- 剑指Offer系列---(7)从尾到头打印链表
- 剑指offer系列之一:从尾到头打印链表
- 【剑指offer系列】 从尾到头打印链表___5
- 剑指offer系列-从尾到头打印链表
- 剑指offer系列----从尾到头打印链表
- 剑指offer(一)之从尾到头打印链表
- 剑指offer系列之3:从尾到头打印链表
- 剑指Offer系列-面试题5:从尾到头打印链表
- 算法系列——从尾到头打印链表(剑指offer)
- 剑指offer系列(4)——从尾到头打印链表
- 剑指offer:5-从尾到头打印链表
- [剑指Offer]7.从尾到头打印链表
- 剑指offer:从尾到头打印链表
- 从尾到头打印链表--《剑指offer》
- 剑指Offer:从尾到头打印链表
- 【剑指offer】从尾到头打印链表
- 斐波那契数的数学封闭式表示
- 使用jquery实现两个div中按钮互换位置
- jq 根据返回的时间判断昨天、今天
- serialVersionUID
- hdu 5687 裸字典树
- 剑指offer系列一:从尾到头打印链表
- Effective C++ 55个条款概述
- Serverless 风格微服务的持续交付(上):架构案例
- onresume 跳转时出现控件为空 是因为页面没有完全初始化
- iOS_新版iOS11 UITbleView适配的一些问题及解决方法
- 【ccf-201612-1】中间数
- 极乐技术周报(第二十六期)
- 海思3519编译opencv320库
- 线程池