144. 二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
解析
使用栈来解决,先压入右子树,再压入左子树。
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
LinkedList<TreeNode> stack = new LinkedList<>();
LinkedList<Integer> output = new LinkedList<>();
if (root == null) {
return output;
}
stack.add(root);
while(!stack.isEmpty()){
//注意不要压入null
TreeNode parent = stack.pollLast();
output.add(parent.val);
if(parent.right!=null){
stack.add(parent.right);
}
if(parent.left!=null){
stack.add(parent.left);
}
}
return output;
}
}
注意:本文归作者所有,未经作者允许,不得转载