binary-tree-inorder-traversal /** * * @author gentleKay * Given a binary tree, return the inorder traversal of its nodes' values. * For example: * Given binary tree{1,#,2,3}, 1 \ 2 / 3 * return[1,3,2]. * Note: Recursive solution is trivial, could you do it iteratively?
* int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };*/classSolution {public: vector<int> inorderTraversal(TreeNode*root) { vector<int>result; inorder(root, result);returnresult; }voidinorder(TreeNode *cur, vector<int>...
add(root.val); traversal(root.right); } } 复杂度分析 时间复杂度:O(n),其中 n 是二叉树的节点数。每一个节点恰好被遍历一次 空间复杂度:O(n),为递归过程中栈的开销,平均情况下为 O(logn),最坏情况下树呈现链状,为 O(n) 递归法 /** * Definition for a binary tree node. * public ...
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 ...
94. Binary Tree Inorder Traversal 题目描述 Given a binary tree, return theinorder For example: Given binary tree [1,null,2,3], 1 \ 2 / 3 return [1,3,2]. Note: 思路 本题的目的是将一个二叉树结构进行中序遍历输出...
12 vector<int> inorderTraversal(TreeNode *root) { 13 vector<int> res; 14 if(root==NULL) return res; 15 stack<TreeNode*> s; 16 TreeNode* cur=root; 17 while(cur||!s.empty()){ 18 while(cur!=NULL){ 19 s.push(cur); 20 cur=cur->left; ...
每天一算:Binary Tree Inorder Traversal 程序员吴师兄 + 关注 预计阅读时间2分钟 6 年前 LeetCode上第94 号问题:二叉树的中序遍历 题目 给定一个二叉树,返回它的 中序 遍历。 示例: 输入: [1,null,2,3] 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路 用栈(Stack)的...
* 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);...
名字叫做, morrois traversal, 自己写了下: My code: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */publicclassSolution{publicList<Integer>inorderTraversal(TreeNoderoot){List...
Binary tree traversal: Preorder, Inorder, and Postorder In order to illustrate few of the binary tree traversals, let us consider the below binary tree: Preorder traversal: To traverse a binary tree in Preorder, following operations are carried-out (i) Visit the root, (ii) Traverse the le...