位元組跳動前端面試題兩道

2022-02-03 14:31:15 字數 2265 閱讀 4536

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.捕獲型事件 事件...