144. 二叉树的前序遍历

题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
解法:迭代
思路:模拟
代码:
/**

  • 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 preorderTraversal(TreeNode root) {
    List res = new ArrayList();
    Stack stack = new Stack();
    if(root==null){
    return res;
    }
    stack.push(root);
    while(!stack.isEmpty()){
    TreeNode popNode = stack.pop();
    res.add(popNode.val);
    if(popNode.right!=null){
    stack.push(popNode.right);
    }
    if(popNode.left!=null){
    stack.push(popNode.left);
    }
    }
    return res;

    }
    }

posted @ 2021-07-20 17:28  for_ward  阅读(25)  评论(0)    收藏  举报