LeetCode(力扣):二叉树的后序遍历

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> postorderTraversal(TreeNode root) {
        //需要使用addFirst()插到头部,所以使用LinkedList
        LinkedList<Integer> result = new LinkedList<>();

        if(root == null){
            return result;
        }

        Stack<TreeNode> stack = new Stack<>();
        stack.push(root);

        while(!stack.isEmpty()){
            TreeNode node = stack.pop();
            //永远将拿到的节点的值放到最前面
            result.addFirst(node.val);

            if(node.left != null){
                stack.push(node.left);
            }

            if(node.right != null){
                stack.push(node.right);
            }
        }
        return result;
    }
}
相关推荐
Emilin Amy2 小时前
【ROS】机器人的速度/角度/力矩控制是如何实现的
c++·算法·控制·ros1/2
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章36-骨架提取
图像处理·人工智能·opencv·算法·计算机视觉
CoovallyAIHub2 小时前
RF-DETR:最近一个月迭代 5 个版本的实时检测+分割模型
深度学习·算法·计算机视觉
Frostnova丶2 小时前
LeetCode 1878. 矩阵中最大的三个菱形和
算法·leetcode·矩阵
m0_662577972 小时前
C++中的享元模式实战
开发语言·c++·算法
Storynone2 小时前
【Day】LeetCode:134. 加油站,135. 分发糖果,860. 柠檬水找零,406. 根据身高重建队列
python·算法·leetcode
喵喵蒻葉睦2 小时前
力扣 hot100 和为K的子数组 哈希&前缀和
java·数据结构·算法·leetcode·前缀和·哈希算法
jing-ya2 小时前
day52 图论part4
数据结构·算法·图论
tankeven2 小时前
最短路径问题00:dijkstra算法
c++·算法