File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed
binary-tree-level-order-traversal Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ # Time Complexity: O(n)
3+ # Space Complexity: O(n)
4+ - 재귀 호출 함수의 파라미터 root, depth, ans
5+ */
6+
7+ /**
8+ * Definition for a binary tree node.
9+ * public class TreeNode {
10+ * int val;
11+ * TreeNode left;
12+ * TreeNode right;
13+ * TreeNode() {}
14+ * TreeNode(int val) { this.val = val; }
15+ * TreeNode(int val, TreeNode left, TreeNode right) {
16+ * this.val = val;
17+ * this.left = left;
18+ * this.right = right;
19+ * }
20+ * }
21+ */
22+ class Solution {
23+ public List <List <Integer >> levelOrder (TreeNode root ) {
24+ List <List <Integer >> ans = new ArrayList <>();
25+
26+ dfs (root , 0 , ans );
27+
28+ return ans ;
29+ }
30+
31+ private void dfs (TreeNode root , int depth , List <List <Integer >> ans ) {
32+ if (root == null ) return ;
33+
34+ if (ans .size () == depth ) {
35+ ans .add (new ArrayList <>());
36+ }
37+ ans .get (depth ).add (root .val );
38+
39+ dfs (root .left , depth + 1 , ans );
40+ dfs (root .right , depth + 1 , ans );
41+ }
42+ }
You can’t perform that action at this time.
0 commit comments