1,多維陣列扁平化。原陣列[[0],[2,3,4],1,[1,[2,3]]],輸出[0,2,3,4,1,1,2,3]
});}
let sourcearr = [[0], [2, 3, 4], 1, [1, [2, 3]]];
let result =;
//遞迴
(function
dofunc(arr)
else
if(array.isarray(arr[i])) }}
else
})(sourcearr);
console.log(result);
}
2,二叉樹tree ,根節點是root,判斷是否存在一條完整路徑,其路徑上節點的值之和為target,輸出布林值。
舉例:下面的樹,是否存在target=7的一條完整路徑(從根節點到葉節點),該路徑上各個節點之和=target?
6/ \
2 3
/\ /
-1 3 0
這版本1:該版本建立二叉樹的方法比較「笨」
}//定義二叉樹
class btree
addroot(node)
}addleft(pnode, node)
addright(pnode, node)
//根據陣列中的索引返回node
getnode(index)
getnodelist()
}const lable = "mk";
//建立示例中的二叉樹
let btree = new btree();
//第一層 根節點
btree.addroot(new node(6, null, null));
//第二層
btree.addleft(btree.getnode(0), new node(2, null, null));
btree.addright(btree.getnode(0), new node(3, null, null));
//第三層
btree.addleft(btree.getnode(1), new node(-1, null, null));
btree.addright(btree.getnode(1), new node(3, null, null));
btree.addleft(btree.getnode(2), new node(0, null, null));
function haspathsum(node, target)
//左右子節點
return (
(node.left && haspathsum(node.left, target - node.value)) ||
(node.right && haspathsum(node.right, target - node.value)));}
console.time(lable);
console.log(haspathsum(btree.getnode(0), 11));
console.timeend(lable);
}
版本2:精簡版
}}/*** 建立乙個樹
* arr:乙個代表二叉樹的多維陣列
*/function makebtree(arr)
}const lable = "mk";
//建立示例中的二叉樹
let btree = makebtree([6, [2, [-1], [3]], [3, [0]]]);
// let btree = makebtree([6, [2],[-1]]);
function haspathsum(node, target)
//左子節點
return (
(node.left!=undefined && haspathsum(node.left, target - node.value)) ||
(node.right!=undefined && haspathsum(node.right, target - node.value)));}
console.time(lable);
console.log(haspathsum(btree, 11));
console.timeend(lable);
}
每日兩道前端面試題20190304
css盒子模型又稱為框模型,包含了元素內容content,內邊距padding,邊框border,外邊距margin.它有兩種種類 ie盒子模型 w3c盒子模型 區別 標準的盒子模型寬高就是content element元素的寬高.低端ie的css模型寬高就是content padding bord...
每日兩道前端面試題 20190201
1.與嚴格模式與混雜模式息息相關的是 doctype 2.doctype的定義 是一組機器可讀的規則,它們指示html文件中允許有什麼,不允許有什麼,doctype正是用來告訴 瀏覽器使用哪種dtd,一般放在html文件開頭宣告,用來告訴其他人這個文件的型別風格。3.嚴格模式 瀏覽器根據web標準去...
每日兩道前端面試題 20190131
1 冒泡型事件 事件按照從最特定的事件目標到最不特定的事件目標 document物件 的順序觸發 ie 5.5 div body document ie 6.0 div body document mozila 1.0 div body html document window 2.捕獲型事件 事件...