https://leetcode.com/problems/binary-tree-postorder-traversal/discuss/45785/Share-my-two-Python-iterative-solutions-post-order-and-modified-preorder-then-reverse His solution has the same runtime and memory usag
1classSolution {2public:3vector<int> preorderTraversal(TreeNode *root) {4vector<int>result;5TreeNode *p =root;6while(p) {7if(!p->left) {8result.push_back(p->val);9p = p->right;10}else{11TreeNode *q = p->left;12while(q->right && q->right !=p) {13q = q->right;14}1...
2.2 last.right 不为 null,说明之前已经访问过,第二次来到这里,表明当前子树遍历完成,保存 cur 的值,更新 cur = cur.right public List<Integer> inorderTraversal3(TreeNode root) { List<Integer> ans = new ArrayList<>(); TreeNode cur = root; while (cur != null) { //情况 1 if (cur.left ...
The number of nodes in the tree is in the range [0, 100]. -100 <= Node.val <= 100 英文版地址 leetcode.com/problems/b 中文版描述 给定一个二叉树的根节点 root ,返回 它的中序 遍历。 示例1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例2: 输入:root = [] 输出:[] 示例3:...
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level). For example: Given binary tree [3,9,20,null,null,15,7], 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ...
Given a binary tree, return thebottom-up level ordertraversal of its nodes' values. (ie, from left to right, level by level from leaf to root). For example: Given binary tree[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 ...
If we are given a binary tree and we need to perform a vertical order traversal, that means we will be processing the nodes of the binary tree from left to right. Suppose we have a tree such as the one given below. If we traverse the tree in vertical order and print the nodes then...
从大的层面讲,Binary Tree 可以用DFS和BFS。 对于BFS,我们需要iterative with queue。 对于DFS,Binary Tree 有三种traversal的方式: ** Inorder Traversal: left -> root -> right ** Preoder Traversal: root -> left -> right ** Postoder Traveral: left -> right -> root ...
* TreeNode right; * TreeNode(int x) { val = x; } * } */classSolution{public List<Integer>inorderTraversal(TreeNode root){List<Integer>result=newLinkedList<>();TreeNode current=root;TreeNode prev=null;while(current!=null){// left firstif(current.left==null){result.add(current.val);...
https://leetcode.com/problems/binary-tree-postorder-traversal/ Given a binary tree, return thepostordertraversal of its nodes' values. For example: Given binary tree{1,#,2,3}, 1 \ 2 / 3 return[3,2,1]. Note:Recursive solution is trivial, could you do it iteratively?