分而治之
概念
分而治之是算法设计中的一种思想
它将一个问题分成多个和原问题相似的小问题,递归解决小问题,再将结果合并以解决原来的问题
猜数游戏
var guessNumber = function(n) {
const rec=(low,high)=>{
if(low>high){return}
let mid=Math.floor((low+high)/2);
let res=guess(mid);
if(res===0){return mid}
else if(res===1){return rec(mid+1,high)}
else{return rec(low,mid-1)}
}
return rec(1,n)
};
翻转二叉树
var invertTree = function(root) {
if(!root){return null}
return{
val:root.val,
left:invertTree(root.right),
right:invertTree(root.left)
}
};
判断相同的树
var isSameTree = function(p, q) {
if(!p&&!q){return true}
if(!p||!q){return false}
if(p.val!==q.val){return fals