반응형
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
'Coding Interview' 카테고리의 다른 글
[LeetCode] BFS-DFS 116. Populating Next Right Pointers in Each Node (0) | 2022.09.27 |
---|---|
[LeetCode] DFS - 130. Surrounded Regions (0) | 2022.09.27 |
[LeetCode] BFS-DFS 104. Maximum Depth of Binary Tree (0) | 2022.09.27 |
[LeetCode] BFS 210. Course Schedule II (feat. 위상정렬) (0) | 2022.09.26 |
[LeetCode] DFS 101. Symmetric Tree (0) | 2022.09.26 |