当前位置: 首页> 娱乐> 八卦 > 大连网络科技有限公司_赞片cms_搜易网托管模式的特点_谷歌app官方下载

大连网络科技有限公司_赞片cms_搜易网托管模式的特点_谷歌app官方下载

时间:2025/9/12 8:20:07来源:https://blog.csdn.net/Coder_ljw/article/details/144144137 浏览次数:0次
大连网络科技有限公司_赞片cms_搜易网托管模式的特点_谷歌app官方下载

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 栈
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 145. 二叉树的后序遍历

⛲ 题目描述

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。

示例 1:

输入:root = [1,null,2,3]

输出:[3,2,1]

解释:
在这里插入图片描述

示例 2:

输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

输出:[4,6,7,5,2,9,8,3,1]

解释:

在这里插入图片描述

示例 3:

输入:root = []

输出:[]

示例 4:

输入:root = [1]

输出:[1]

提示:

树中节点的数目在范围 [0, 100] 内
-100 <= Node.val <= 100

进阶:递归算法很简单,你可以通过迭代算法完成吗?

🌟 求解思路&实现代码&运行结果


⚡ 栈

🥦 求解思路
  1. 创建了一个 ArrayList 用于存储后序遍历的结果。如果根节点为空,直接返回这个空列表。
  2. 接着创建了一个栈 stack,用于模拟递归调用栈,存放待访问的二叉树节点。同时定义了 lastVisited 变量,它的作用是记录上一次访问的节点,以便后续判断当前节点的左右子树是否已经被访问过了。
  3. 将根节点压入栈后,进入循环,只要栈不为空,就执行以下操作,取出栈顶节点(但不立即弹出,通过 peek 方法),然后进行判断:
    • 如果当前栈顶节点满足左子树和右子树都为空,或者它的左右子树节点都是上一次已经访问过的节点(通过和 lastVisited 对比判断),那么说明这个节点可以被访问了,将其值添加到结果列表中,然后弹出栈顶节点,并更新 lastVisited 为当前弹出的这个节点,表示它已经被访问过了。
    • 如果不满足上述可以直接访问的条件,那么按照后序遍历的顺序要求,先处理右子树(如果存在),将右子树节点压入栈;再处理左子树(如果存在),将左子树节点压入栈,以便后续按照正确顺序进行访问。
  4. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null) {return res;}Deque<TreeNode> stack = new LinkedList<TreeNode>();TreeNode prev = null;while (root != null || !stack.isEmpty()) {while (root != null) {stack.push(root);root = root.left;}root = stack.pop();if (root.right == null || root.right == prev) {res.add(root.val);prev = root;root = null;} else {stack.push(root);root = root.right;}}return res;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

关键字:大连网络科技有限公司_赞片cms_搜易网托管模式的特点_谷歌app官方下载

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: