zoukankan      html  css  js  c++  java
  • Flatten List

    Given a list, each element in the list can be a list or integer. flatten it into a simply list with integers.

     Notice

    If the element in the given list is a list, it can contain list too.

    Example

    Given [1,2,[1,2]], return [1,2,1,2].

    Given [4,[3,[2,[1]]]], return [4,3,2,1].

    Runtime: 441ms.

     1 /**
     2  * // This is the interface that allows for creating nested lists.
     3  * // You should not implement it, or speculate about its implementation
     4  * class NestedInteger {
     5  *   public:
     6  *     // Return true if this NestedInteger holds a single integer,
     7  *     // rather than a nested list.
     8  *     bool isInteger() const;
     9  *
    10  *     // Return the single integer that this NestedInteger holds,
    11  *     // if it holds a single integer
    12  *     // The result is undefined if this NestedInteger holds a nested list
    13  *     int getInteger() const;
    14  *
    15  *     // Return the nested list that this NestedInteger holds,
    16  *     // if it holds a nested list
    17  *     // The result is undefined if this NestedInteger holds a single integer
    18  *     const vector<NestedInteger> &getList() const;
    19  * };
    20  */
    21 class Solution {
    22 public:
    23     // @param nestedList a list of NestedInteger
    24     // @return a list of integer
    25     vector<int> flatten(vector<NestedInteger> &nestedList) {
    26         // Write your code here
    27         vector<int> result;
    28         helper(nestedList, result);
    29         return result;
    30     }
    31     
    32     void helper(vector<NestedInteger> nestedList, vector<int>& result) {
    33         for (int i = 0; i < nestedList.size(); i++) {
    34             if (nestedList[i].isInteger()) 
    35                 result.push_back(nestedList[i].getInteger());
    36             else {
    37                 helper(nestedList[i].getList(), result);
    38             }
    39         }
    40     }
    41 };
  • 相关阅读:
    Web.config配置详解
    vs2010下创建webservice
    WinForm如何调用Web Service
    Android动画的两种使用方式。
    ES6介绍
    django批量form表单处理
    django生命周期示意图
    django中的构造字典(二级菜单,评论树,购物车)
    django中介模型,CBV模型,及logging日志配制
    django中csrftoken跨站请求伪造的几种方式
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/5844301.html
Copyright © 2011-2022 走看看