class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
Stack<TreeNode> stack = new Stack<>();//定义栈
ArrayList<Integer> res = new ArrayList<>();//定义链表
if(root == null){//判断节点是否为空
return res;
}
stack.push(root);//根节点入栈
while(!stack.isEmpty()){
TreeNode node = stack.pop();//栈不是空的就出栈
res.add(node.val);//出栈节点存入链表
if(node.right != null){
stack.push(node.right);//如果节点的右节点不是空就入栈
}
if(node.left != null){
stack.push(node.left);
}
}
return res;
}
}
07-02
4627