相同的树
/**
* 相同的树
* 分而治之的思想:判断两树左、右子树值相同,进行递归;若出现不同,则返回false
*/
const sourceTree = {
value: 5,
left: {
value: 3,
left: {
value: 2,
left: null,
right: null
},
right: {
value: 4,
left: null,
right: null
}
},
right: {
value: 7,
left: {
value: 6,
left: null,
right: null
},
right: {
value: 8,
left: null,
right: {
value: 10,
left: null,
right: null
}
}
}
}
const targetTree = {
value: 5,
left: {
value: 3,
left: {
value: 2,
left: null,
right: null
},
right: {
value: 4,
left: null,
right: null
}
},
right: {
value: 7,
left: {
value: 6,
left: null,
right: null
},
right: {
value: 8,
left: null,
right: {
value: 10,
left: null,
right: null
}
}
}
}
const isSameTree = (st = sourceTree, tt = targetTree) => {
if(!st && !tt) return true
if(st?.value === tt?.value && isSameTree(st.left, tt.left) && isSameTree(st.right, tt.right)){
return true
}
return false
}
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号