【剑指Offer学习】【面试题5 : 从尾到头打印链表】
2015-04-28 08:27
597 查看
【剑指Offer学习】【所有面试题汇总】
题目:输入个链表的头结点,从尾到头反过来打印出每个结点的值。public class Test05 { /** * 结点对象 */ public static class ListNode { int val; // 结点的值 ListNode nxt; // 下一个结点 } /** * 输入个链表的头结点,从尾到头反过来打印出每个结点的值 * 使用栈的方式进行 * * @param root 链表头结点 */ public static void printListInverselyUsingIteration(ListNode root) { Stack<ListNode> stack = new Stack<>(); while (root != null) { stack.push(root); root = root.nxt; } ListNode tmp; while (!stack.isEmpty()) { tmp = stack.pop(); System.out.print(tmp.val + " "); } } /** * 输入个链表的头结点,从尾到头反过来打印出每个结点的值 * 使用栈的方式进行 * * @param root 链表头结点 */ public static void printListInverselyUsingRecursion(ListNode root) { if (root != null) { printListInverselyUsingRecursion(root.nxt); System.out.print(root.val + " "); } } public static void main(String[] args) { ListNode root = new ListNode(); root.val = 1; root.nxt = new ListNode(); root.nxt.val = 2; root.nxt.nxt = new ListNode(); root.nxt.nxt.val = 3; root.nxt.nxt.nxt = new ListNode(); root.nxt.nxt.nxt.val = 4; root.nxt.nxt.nxt.nxt = new ListNode(); root.nxt.nxt.nxt.nxt.val = 5; printListInverselyUsingIteration(root); System.out.println(); printListInverselyUsingRecursion(root); } }
运行结果:
相关文章推荐
- 【剑指Offer】面试题5:从尾到头打印链表
- 剑指offer-面试题05-从尾到头打印链表
- 剑指offer 面试题5 从尾到头打印链表(递归实现)
- [剑指offer][面试题5]从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 剑指offer 面试题5—从尾到头打印链表
- 剑指offer——面试题5:从尾到头打印链表
- 【练习笔记】剑指offer-面试题5 :从尾到头打印链表
- 剑指offer_面试题5_从尾到头打印链表(栈和递归实现)
- 【剑指offer】面试题5:链表-从尾到头打印链表
- 剑指offer 面试题5:从尾到头打印链表 题解
- 剑指offer面试题 从尾到头打印链表
- 剑指offer-->面试题5 从尾到头打印链表
- 剑指offer|面试题5:从尾到头打印链表(Java实现)
- 【剑指offer】面试题5:从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 剑指Offer----面试题五:从尾到头打印链表
- 剑指offer-面试题5.从尾到头打印链表
- 【剑指offer】面试题05:从尾到头打印链表
- 剑指Offer_面试题05_从尾到头打印链表