美文网首页
面试题6:从头到尾打印链表

面试题6:从头到尾打印链表

作者: 繁星追逐 | 来源:发表于2019-08-03 21:49 被阅读0次

输入一个链表的头节点,从尾到头打印链表每个节点的值。
1,逆序输出,即使用数据结构栈为先进后出特性,依次存储节点值,然后输出

private class ListNode{
        int val;
        ListNode next = null;
        ListNode(int val){
            this.val = val;
        }
    }
/**
 * 使用栈结构正序弹入,逆序输出
 * @param listNode
 * @return
 */

public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
    LinkedList<Integer> stack = new LinkedList<>();
    for (ListNode node = listNode; node != null;node = node.next){
        stack.push(node.val);
    }
    return new ArrayList<>(stack);
}

将其他集合转化为ArrayList,直接使用无参构造方法
2,递归,树结构一般都可以选择递归节点

/**
     * 递归一直到最后一个才开始添加
     */
    private ArrayList<Integer> list = new ArrayList<>();
    public ArrayList<Integer> printListFromTailToHead1(ListNode listNode) {
        if (listNode != null){
            printListFromTailToHead1(listNode.next);
            list.add(listNode.val);
        }
        return list;
    }

相关文章

  • 2.3.3 链表

    面试题6:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。

  • 《剑指Offer》-Exercise(C语言)

    面试题4:二维数组中的查找 面试题6:从尾到头打印链表 单链表从尾到头打印(用栈或递归) 单链表结构 面试题7:重...

  • 面试题6:从头到尾打印链表

    题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 解题思路: 遍历链表,将其存入一个栈中,然后根据栈先进后...

  • 面试题6:从头到尾打印链表

    输入一个链表的头节点,从尾到头打印链表每个节点的值。1,逆序输出,即使用数据结构栈为先进后出特性,依次存储节点值,...

  • 面试题6: 从头到尾打印链表

  • 从尾到头打印链表

    《剑指offer》面试题6:从尾到头打印链表 题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。(链表...

  • 剑指offer之(链表和栈)

    题目列表链表面试题06. 从尾到头打印链表面试题18. 删除链表的节点面试题22. 链表中倒数第k个节点面试题24...

  • 从头到尾打印链表

    ?环境:牛客的编译环境?语言:JavaScript☕️难点:忽视了链表的head里也可能会存储数据,其实head头...

  • LeetCode 面试题06. 从尾到头打印链表【剑指Offer

    LeetCode 面试题06. 从尾到头打印链表【剑指Offer】【Easy】【Python】【链表】 问题 力扣...

  • 逆序打印单链表

    题目描述: 逆序打印单链表,要求不能改变链表结构。 思路分析: 由于单链表只能顺序遍历(从头到尾遍历)而不能逆向遍...

网友评论

      本文标题:面试题6:从头到尾打印链表

      本文链接:https://www.haomeiwen.com/subject/seusdctx.html