博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
144. Binary Tree Preorder Traversal
阅读量:5234 次
发布时间:2019-06-14

本文共 873 字,大约阅读时间需要 2 分钟。

Given a binary tree, return the preorder traversal of its nodes' values.

For example:

Given binary tree {1,#,2,3},

1    \     2    /   3

 

return [1,2,3].

先push右侧再push左侧

/**

* Definition for binary tree
* public class TreeNode {
*    int val;
*    TreeNode left;
*    TreeNode right;
*    TreeNode(int x) { val = x; }
* }
*/
public class Solution {
  public List<Integer> preorderTraversal(TreeNode root) {
    List<Integer> list = new ArrayList<>();
    if (root == null) {
      return list;
    }
    Stack<TreeNode> stack = new Stack<>();
    stack.push(root);
    while(!stack.isEmpty()) {
      TreeNode node = stack.pop();
      list.add(node.val);
      if (node.right != null) {
        stack.push(node.right);
      }
      if (node.left != null) {
        stack.push(node.left);
      }
    }
    return list;
  }
}

转载于:https://www.cnblogs.com/shini/p/4436560.html

你可能感兴趣的文章
SQL server 2012定期的备份数据库--完整+差异+事物
查看>>
C语言 - 可变参数再stm32中的应用
查看>>
vscode + platformIO开发stm32f4
查看>>
最新SSM框架整合2019
查看>>
LinkedList的线程安全解决办法
查看>>
eclipse调整控制台长度
查看>>
jsonp和ajax
查看>>
EAS 之F7控件实现多选择并保存
查看>>
S-HR之用户行政范围查询
查看>>
eas之动态调用Ui界面,并在UI之间传递变量
查看>>
开源协议许可
查看>>
S-HR之导入模板指向实现类配置
查看>>
eas之设置是否在调入列表之前先出过滤框
查看>>
eas之设置单据分录单元格式
查看>>
eas之手工发送消息
查看>>
eas之F7专用选择界面设置
查看>>
eas之删除类别时刷新当前结点的父结点,并定位到当前结点的父结点。
查看>>
eas之修改类别时刷新当前结点的父结点,并定位到当前结点
查看>>
eas之弹出指定的F7
查看>>
eas之得到当前选中的行id
查看>>