什么是反转二叉树
二叉树的每个结点至多有两颗子树,不存在大于2个的节点,二叉树有左右之分,次序不能颠倒
初始数据
let list = {
id: "4",
left: {
id: "2",
left: {
id: "1",
left: null,
right: null,
},
right: {
id: "3",
left: null,
right: null,
},
},
right: {
id: "7",
left: {
id: "6",
left: null,
right: null,
},
right: {
id: "9",
left: null,
right: null,
},
},
};
反转二叉树函数
定义一个临时的变量tmp,用于交换 left 和 right 递归处理 left和right,,如果传递的值是null停止处理
function reverseBTree(node) {
if (!node) {
return;
}
let tmp = node.left;
node.left = node.right;
node.right = tmp;
reverseBTree(node.left);
reverseBTree(node.right);
}