首页 > 代码库 > Flatten List
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 integer12 * // The result is undefined if this NestedInteger holds a nested list13 * int getInteger() const;14 *15 * // Return the nested list that this NestedInteger holds,16 * // if it holds a nested list17 * // The result is undefined if this NestedInteger holds a single integer18 * const vector<NestedInteger> &getList() const;19 * };20 */21 class Solution {22 public:23 // @param nestedList a list of NestedInteger24 // @return a list of integer25 vector<int> flatten(vector<NestedInteger> &nestedList) {26 // Write your code here27 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 };
Flatten List
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。