嵌套列表的加权和

http://www.lintcode.com/zh-cn/problem/nested-list-weight-sum/

import java.util.List;

/**
 * // This is the interface that allows for creating nested lists.
 * // You should not implement it, or speculate about its implementation
 * public interface NestedInteger {
 * 

* // @return true if this NestedInteger holds a single integer, * // rather than a nested list. * public boolean isInteger(); *

* // @return the single integer that this NestedInteger holds, * // if it holds a single integer * // Return null if this NestedInteger holds a nested list * public Integer getInteger(); *

* // @return the nested list that this NestedInteger holds, * // if it holds a nested list * // Return null if this NestedInteger holds a single integer * public List getList(); * } */ public class Solution { private int sum = 0; public int depthSum(List nestedList) { // Write your code here treeWalk(nestedList, 1); return sum; } private void treeWalk(List nestedList, int depth) { if (nestedList == null) { return; } for (int i = 0; i < nestedList.size(); i++) { NestedInteger nestedInteger = nestedList.get(i); if (nestedInteger.isInteger()) { sum += nestedInteger.getInteger() * depth; } else { treeWalk(nestedInteger.getList(), depth + 1); } } } }

你可能感兴趣的:(嵌套列表的加权和)