算法:二叉树翻转
描述:二叉树的数据结构如下,需要将二叉树各节点左右翻转
var node1 = {
value: 1,
left: {
value: 2,
left: {
value: 4
},
right: {
value: 5
}
},
right: {
value: 3,
left: {
value: 6
},
right: {
value: 7
}
}
}
思路:
1.先将左右节点交换位置2.再递归子节点
function reverse(node) {
if (node != null) {
let temp = node.left;
node.left = node.right;
node.right = temp;
reverse(node.left);
reverse(node.right);
}
}
知识点:
先序遍历,先访问根节点,然后以同样的方式访问左子树和右子树
其实算法并不难,需要一点点积累,必会有所收获,加油!!!
评论