Back 551. Nested List Weight Sum

/** * // This is the interface that allows for creating nested lists. * // You should not implement it, or speculate about its implementation * class NestedInteger { * public: * // Return true if this NestedInteger holds a single integer, * // rather than a nested list. * bool isInteger() const; * * // Return the single integer that this NestedInteger holds, * // if it holds a single integer * // The result is undefined if this NestedInteger holds a nested list * int getInteger() const; * * // Return the nested list that this NestedInteger holds, * // if it holds a nested list * // The result is undefined if this NestedInteger holds a single integer * const vector<NestedInteger> &getList() const; * }; */ class Solution { public: int depthSum(const vector<NestedInteger>& nestedList) { // Write your code here int res = 0; dfs(nestedList, res, 1); return res; } void dfs(const vector<NestedInteger>& nestedList, int &res, int depth){ for(int i = 0; i < nestedList.size(); i++){ NestedInteger temp = nestedList[i]; if(temp.isInteger()){ res += temp.getInteger() * depth; } else{ dfs(temp.getList(), res, depth + 1); } } } };

Comments

Popular posts from this blog

算法的比较