算法:二叉樹(shù)翻轉(zhuǎn)



描述:二叉樹(shù)的數(shù)據(jù)結(jié)構(gòu)如下,需要將二叉樹(shù)各節(jié)點(diǎn)左右翻轉(zhuǎn)
var node1 = {value: 1,left: {value: 2,left: {value: 4},right: {value: 5}},right: {value: 3,left: {value: 6},right: {value: 7}}}
思路:
1.先將左右節(jié)點(diǎn)交換位置2.再遞歸子節(jié)點(diǎn)
function reverse(node) {if (node != null) {let temp = node.left;node.left = node.right;node.right = temp;reverse(node.left);reverse(node.right);}}
知識(shí)點(diǎn):
先序遍歷,先訪問(wèn)根節(jié)點(diǎn),然后以同樣的方式訪問(wèn)左子樹(shù)和右子樹(shù)
其實(shí)算法并不難,需要一點(diǎn)點(diǎn)積累,必會(huì)有所收獲,加油?。。?/p>
評(píng)論
圖片
表情
