算法:二叉树翻转

Posted 前端精髓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法:二叉树翻转相关的知识,希望对你有一定的参考价值。



描述:二叉树的数据结构如下,需要将二叉树各节点左右翻转


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); }}


知识点:

先序遍历,先访问根节点,然后以同样的方式访问左子树和右子树


其实算法并不难,需要一点点积累,必会有所收获,加油!!!


以上是关于算法:二叉树翻转的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法—翻转二叉树

「经典题目回顾」翻转二叉树!

LeetCode(算法)- 226. 翻转二叉树

算法:二叉树翻转

leetcode算法226.翻转二叉树

java数据结构与算法之翻转二叉树