Coding Interview
[LeetCode] DFS - 94. Binary Tree Inorder Traversal
milliwonkim
2022. 9. 27. 19:08
반응형
SMALL
문제
Given the root of a binary tree, return the inorder traversal of its nodes' values.
Example 1:
Input: root = [1,null,2,3]
Output: [1,3,2]
Example 2:
Input: root = []
Output: []
Example 3:
Input: root = [1]
Output: [1]
Constraints:
- The number of nodes in the tree is in the range [0, 100].
- -100 <= Node.val <= 100
코드
// Iterative
const inorderTraversal = (root) => {
let curr = root, res = [], stack = [];
while (curr || stack.length) {
while (curr) {
stack.push(curr);
curr = curr.left;
}
curr = stack.pop();
res.push(curr.val);
curr = curr.right;
}
return res;
};
// DFS
var inorderTraversal = function(root) {
const result = [];
function dfs(rt) {
if((rt && rt.length === 0) || !rt) return;
if(rt.left) dfs(rt.left)
result.push(rt.val)
if(rt.right) dfs(rt.right)
}
dfs(root);
return result;
};
반응형
LIST