144. 二叉树的前序遍历

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

  • Definition for a binary tree node.

  • public class TreeNode {

  • int val;

  • TreeNode left;

  • TreeNode right;

  • TreeNode() {}

  • TreeNode(int 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  阅读(32)  评论(0)    收藏  举报