144.二叉树的前序遍历
程序员文章站
2024-01-10 23:22:58
...
144.二叉树的前序遍历
题解
每次迭代弹出栈顶元素,记录其根数值,按次序将其右孩子、左孩子压入栈中,
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
LinkedList<TreeNode> stack = new LinkedList<>();
LinkedList<Integer> output = new LinkedList<>();
stack.add(root);
if(root == null){
return output;
}
while(!stack.isEmpty()){
TreeNode node = stack.pollLast();
output.add(node.val);
if(node.right != null){
stack.add(node.right);
}if(node.left != null){
stack.add(node.left);
}
}
return output;
}
}
上一篇: Oracle Rman跨resetlogs版本恢复
下一篇: 144. 二叉树的前序遍历