zoukankan      html  css  js  c++  java
  • 将多重嵌套数组恢复为一个数组

    问题:给定一个任意多重嵌套数组,把它恢复为一个完整的数组,没有嵌套。

    样例:

    Input

    steamrollArray([[["a"]], [["b"]]])

    steamrollArray([1, [2], [3, [[4]]]])

    Output

    ["a", "b"]

    [1, 2, 3, 4]

    实现:利用dfs搜索,一步步找是否是数组(Array.isArray(arr)判断是否是数组)

    代码如下:

     1 function steamrollArray(arr) {
     2   var newArr = [];
     3   function dfsArray(arr) {
     4     for(var i = 0; i < arr.length; i++) {
     5       if(!Array.isArray(arr[i])) {
     6         newArr.push(arr[i]);
     7       } else {
     8         dfsArray(arr[i]);
     9       }
    10     }
    11   }
    12   dfsArray(arr);
    13   return newArr;
    14 }
  • 相关阅读:
    控制流程
    表达式
    2020.2.7
    寒假自学进度六
    2020.2.6
    2020.2.5
    寒假自学进度五
    Scala初级实验
    寒假自学进度四
    Spark运行基本流程
  • 原文地址:https://www.cnblogs.com/RRirring/p/6156209.html
Copyright © 2011-2022 走看看