字节跳动前端面试题两道

1,多维数组扁平化。原数组[[0],[2,3,4],1,[1,[2,3]]],输出[0,2,3,4,1,1,2,3]

{    //判断当前数组是否有子数组
        function hasChildArray(arr) {
          return arr.some(element => {
            if (Array.isArray(element)) {
              has = true;
              return true;
            }
          });
        }
        let sourceArr = [[0], [2, 3, 4], 1, [1, [2, 3]]];
        let result = [];
     //递归 (
function doFunc(arr) { if (hasChildArray(arr)) { for (let i = 0, l = arr.length; i < l; i++) { if (typeof arr[i] == "number") { result.push(arr[i]); } else if (Array.isArray(arr[i])) { doFunc(arr[i]); } } } else { result=result.concat(arr); } })(sourceArr); console.log(result); }

2,二叉树tree ,判断是否存在一条完整路径,其路径上节点的值之和为target,输出布尔值

猜你喜欢

转载自www.cnblogs.com/kaima/p/11424752.html