339. Nested List Weight Sum

Given a nested list of integers, return the sum of all integers in the list weighted by their depth.
Each element is either an integer, or a list -- whose elements may also be integers or other lists.
Example 1:
Input: [[1,1],2,[1,1]]
Output: 10 
Explanation: Four 1's at depth 2, one 2 at depth 1.
Example 2:
Input: [1,[4,[6]]]
Output: 27 
Explanation: One 1 at depth 1, one 4 at depth 2, and one 6 at depth 3; 1 + 4*2 + 6*3 = 27.

https://leetcode.com/problems/nested-list-weight-sum/discuss/80025/Java-DFS-and-BFS-simple-code


https://zhengyang2015.gitbooks.io/lintcode/nested_list_weight_sum_551.html

Dfs


https://blog.csdn.net/magicbean2/article/details/76886997

public class Solution {
    public int depthSum(List<NestedInteger> nestedList) {
        return depthSum(nestedList, 1);
    }
    public int depthSum(List<NestedInteger> nestedList, int level) {
        int result = 0;
        for(NestedInteger ni : nestedList) {
            if (ni.isInteger()) {
                result = result + (level * ni.getInteger());
            }else {
                result = result + depthSum(ni.getList(), level+1);
            }
        }
        return result;
    }

 

posted on 2018-11-07 05:27  猪猪&#128055;  阅读(107)  评论(0)    收藏  举报

导航