35.复杂链表的复制
//哈希加遍历
var copyRandomList = function(head) {
if(head==null) return head;
let tmp = new Node(head.val);
let map = new Map();
let storeH = head;
let storeR = tmp;
let res = storeR;
while(head.next!==null){
map.set(head,tmp);
tmp.next = new Node(head.next.val);
tmp = tmp.next;
head = head.next;
}
map.set(head, tmp)
while(storeH.next!==null){
storeR.random = map.get(storeH.random);
storeR = storeR.next;
storeH = storeH.next;
}
storeR.random = map.get(storeH.random);
return res;
};
32.I从上到下打印二叉树
//while判断等不等于null,一直没过....应该是0
var levelOrder = function(root) {
if(root==null) return [];
let tree = [];
tree.push(root);
let res = [];
while(tree.length!==0){
let tmp = tree.shift();
res.push(tmp.val);
if(tmp.left!==null){
tree.push(tmp.left);
}
if(tmp.right!==null){
tree.push(tmp.right);
}
}
return res;
};