zoukankan      html  css  js  c++  java
  • 339. Nested List Weight Sum 339.嵌套列表权重总和

    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.

    思路:list在递归中随时用,所以不用index i。for each循环list中的每一个元素

    depth碰到括号就加一层 直到是整数为止

    e.getInteger() e.getList()全都写上才能用啊!

    class Solution {
        public int depthSum(List<NestedInteger> nestedList) {
            //cc  
            if (nestedList == null)
                return 0;
            return helper(nestedList, 1);
        }
        
        //list在递归中随时用,所以不用i。for循环list中的每一个元素
        //depth碰到括号就加一层 直到是整数为止
        public int helper(List<NestedInteger> list, int depth) {
            int sum = 0;
            
            for (NestedInteger e : list) {
                //e.getInteger() e.getList()全都写上才能用
                sum += e.isInteger() ? e.getInteger() * depth : helper(e.getList(), depth + 1);
            }
            
            return sum;
        }
    }
    View Code




  • 相关阅读:
    资源链接
    Silverlight4 RIA应用开发
    社会心理学(第8版)
    C# 2.0 锐利体验
    C# 3.0 锐利体验
    C#面向对象设计模式纵横谈
    ASP.NET MVC2程序开发入门到精通
    Silverlight数独游戏
    StringBuilder研究和探索
    .NET 开发从入门到精通
  • 原文地址:https://www.cnblogs.com/immiao0319/p/13656279.html
Copyright © 2011-2022 走看看