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> preorderTraversal(TreeNode root) {
        List<Integer> result = new ArrayList<>();
        //空树直接返回结果
        if(root == null){
            return result;
        }
        //新建栈并将根节点放入
        Stack<TreeNode> stack = new Stack<>();
        stack.push(root);

        while(!stack.isEmpty()){
            TreeNode node = stack.pop();
            result.add(node.val);
            //由于栈是先进后出,所以先将右节点放入
            if(node.right != null){
                stack.push(node.right);
            }
            if(node.left != null){
                stack.push(node.left);
            }
        }
        return result;
    }
}
相关推荐
不会写DN1 分钟前
Protocol Buffers(.proto)实战入门:Go 生态最常用的接口定义语言
java·前端·golang
lifallen2 分钟前
Flink Agents:从 DataStream 到 Agent 算子的接入与装配
java·大数据·人工智能·python·语言模型·flink
oYD3FlT322 分钟前
MyBatis-缓存与注解式开发
java·缓存·mybatis
Arya_aa5 分钟前
Web基础+JavaEE+容器
java·java-ee
Ln5x9qZC25 分钟前
尾递归与Continuation
算法
一路向北he6 分钟前
esp32库依赖
c语言·c++·算法
老四啊laosi6 分钟前
[双指针] 6. 查找总价为目标值的两个商品
算法·力扣·总价为目标值得两商品
Yiyi_Coding11 分钟前
Proxy详解
java·前端·javascript
鬼先生_sir15 分钟前
SpringBoot-源码剖析
java·spring boot·springboot源码解析
ch.ju18 分钟前
Java程序设计(第3版)第二章——Java中的数据类型
java