对称树
/**
* 对称树
*/
const symmetricTree = {
value: 1,
left: {
value: 2,
left: {
value: 3,
left: {
value: 5,
},
right: {
value: 6,
}
},
right: {
value: 4,
left: {
value: 7,
},
right: {
value: 8,
}
},
},
right: {
value: 2,
left: {
value: 4,
left: {
value: 8,
},
right: {
value: 7,
}
},
right: {
value: 3,
left: {
value: 6,
},
right: {
value: 5,
}
},
},
}
/**
* 非对称树
*/
const notSymmetricTree = {
value: 1,
left: {
value: 2,
left: {
value: 3,
left: {
value: 5,
left: {
value: 9
}
},
right: {
value: 6,
right: {
value: 10
}
}
},
right: {
value: 4,
left: {
value: 7,
left: {
value: 11
}
},
right: {
value: 8,
right: {
value: 12
}
}
},
},
right: {
value: 2,
left: {
value: 4,
left: {
value: 8,
left: {
value: 13,
},
},
right: {
value: 7,
right: {
value: 14,
}
}
},
right: {
value: 3,
left: {
value: 6,
left: {
value: 15,
},
},
right: {
value: 5,
right: {
value: 16,
}
}
},
},
}
递归
const isSymmetricTree = (node) => {
if(!node) return true
const isSymmetric = (l, r) => {
if(!l && !r || l && r && l.value === r.value && isSymmetric(l.left, r.right) && isSymmetric(l.right, r.left)){
return true
}
return false
}
return isSymmetric(node.left, node.right)
}
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号