Skip to content

Commit 89fff0f

Browse files
nested list weight sum
1 parent 989abcc commit 89fff0f

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package easy;
2+
3+
import java.util.List;
4+
5+
import classes.NestedInteger;
6+
7+
public class NestedListWeightSum {
8+
class Solution_with_global_sum {
9+
private int sum = 0;
10+
11+
public int depthSum(List<NestedInteger> nestedList) {
12+
return dfs(nestedList, 1);
13+
}
14+
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;
24+
}
25+
}
26+
27+
class Solution_with_local_sum {
28+
public int depthSum(List<NestedInteger> nestedList) {
29+
return dfs(nestedList, 1);
30+
}
31+
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+
}
39+
}
40+
41+
}

0 commit comments

Comments
 (0)