JZ03-从尾到头打印链表

从尾到头打印链表

https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tab=answerKey

public static ArrayList<Integer> printListReverse1(ListNode headNode) {

        ArrayList<Integer> list = new ArrayList<>();
        Stack<ListNode> stack = new Stack<>();
        while (headNode != null) {
            stack.push(headNode);
            headNode = headNode.next;
        }
        while (!stack.isEmpty()) {
            list.add(stack.pop().val);  //pop弹出并删除,peek只弹出,不删除
        }
        return list;
    }
*********************************************************************************************
    static ArrayList<Integer> list4 = new ArrayList<>();
    public static ArrayList<Integer> printListReverse4(ListNode headNode) {
        if (headNode.next != null) {
            printListReverse4(headNode.next);  //return后向下继续执行
        }

        list4.add(headNode.val);  //最后一次递归结束条件为 尾结点。。。因为尾结点.next为null。跳出上面的递归,执行下面的语句
        return list4;
    }

全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务