|
4 | 4 |
|
5 | 5 | import java.util.List;
|
6 | 6 |
|
7 |
| -/** |
8 |
| - * 339. Nested List Weight Sum |
9 |
| - * |
10 |
| - * Given a nested list of integers, return the sum of all integers in the list weighted by their depth. |
11 |
| - * Each element is either an integer, or a list -- whose elements may also be integers or other lists. |
12 |
| - * |
13 |
| - * Example 1: |
14 |
| - * Input: [[1,1],2,[1,1]] |
15 |
| - * Output: 10 |
16 |
| - * Explanation: Four 1's at depth 2, one 2 at depth 1. |
17 |
| - * |
18 |
| - * Example 2: |
19 |
| - * Input: [1,[4,[6]]] |
20 |
| - * Output: 27 |
21 |
| - * Explanation: One 1 at depth 1, one 4 at depth 2, and one 6 at depth 3; 1 + 4*2 + 6*3 = 27. |
22 |
| - * */ |
23 | 7 | public class _339 {
|
24 |
| - public static class Solution1 { |
25 |
| - private int sum = 0; |
| 8 | + public static class Solution1 { |
| 9 | + private int sum = 0; |
26 | 10 |
|
27 |
| - public int depthSum(List<NestedInteger> nestedList) { |
28 |
| - return dfs(nestedList, 1); |
29 |
| - } |
| 11 | + public int depthSum(List<NestedInteger> nestedList) { |
| 12 | + return dfs(nestedList, 1); |
| 13 | + } |
30 | 14 |
|
31 |
| - private int dfs(List<NestedInteger> nestedList, int depth) { |
32 |
| - for (NestedInteger ni : nestedList) { |
33 |
| - if (ni.isInteger()) { |
34 |
| - sum += depth * ni.getInteger(); |
35 |
| - } else { |
36 |
| - dfs(ni.getList(), depth + 1); |
| 15 | + private int dfs(List<NestedInteger> nestedList, int depth) { |
| 16 | + for (NestedInteger ni : nestedList) { |
| 17 | + if (ni.isInteger()) { |
| 18 | + sum += depth * ni.getInteger(); |
| 19 | + } else { |
| 20 | + dfs(ni.getList(), depth + 1); |
| 21 | + } |
| 22 | + } |
| 23 | + return sum; |
37 | 24 | }
|
38 |
| - } |
39 |
| - return sum; |
40 | 25 | }
|
41 |
| - } |
42 | 26 |
|
43 |
| - public static class Solution2 { |
44 |
| - public int depthSum(List<NestedInteger> nestedList) { |
45 |
| - return dfs(nestedList, 1); |
46 |
| - } |
| 27 | + public static class Solution2 { |
| 28 | + public int depthSum(List<NestedInteger> nestedList) { |
| 29 | + return dfs(nestedList, 1); |
| 30 | + } |
47 | 31 |
|
48 |
| - private int dfs(List<NestedInteger> nestedList, int depth) { |
49 |
| - int sum = 0; |
50 |
| - for (NestedInteger ni : nestedList) { |
51 |
| - sum += ni.isInteger() ? depth * ni.getInteger() : dfs(ni.getList(), depth + 1); |
52 |
| - } |
53 |
| - return sum; |
| 32 | + private int dfs(List<NestedInteger> nestedList, int depth) { |
| 33 | + int sum = 0; |
| 34 | + for (NestedInteger ni : nestedList) { |
| 35 | + sum += ni.isInteger() ? depth * ni.getInteger() : dfs(ni.getList(), depth + 1); |
| 36 | + } |
| 37 | + return sum; |
| 38 | + } |
54 | 39 | }
|
55 |
| - } |
56 | 40 | }
|
0 commit comments