バイナリツリーを反転。
例:
入力:
4 / \ 2 7 / \ / \ 1 3 6 9出力:
4 / \ 7 2 / \ / \ 9 6 3 1
/ * * *バイナリツリーノードの定義。 *機能ツリーノード(ヴァル){ * this.val =ヴァル; * this.left = this.right = NULL; *} * / / * * * @param {ツリーノード}ルート * @return {}ツリーノード * / // すべてのノードはかかわら行くにBFSを使って // ノードに子がある場合、子供スワップ するvar invertTree = 機能(ルート){ スタックしましょう = [ルート]; しばらく(stack.length!== 0 ){ 聞かせてCRT = stack.shift() もし(!CRT = 未定義){ VARの温度= crt.right。 crt.right = crt.left crt.left = 温度; stack.push(crt.left)。 stack.push(crt.right)。 } } リターンルート }。