剑指-07 重构二叉树
思路先序遍历:根左右 中序遍历:左根右 后序遍历:左右根根据前序和中序构建树并返回根节点。前序的数组preOrder特点是元素遵循 |根元素|左子树|右子树|;中序的数组inOrder特点为元素遵循 |左子树|根元素|右子树|,因此可以递归以下步骤来构建子树范围 left > right 时返
思路先序遍历:根左右 中序遍历:左根右 后序遍历:左右根根据前序和中序构建树并返回根节点。前序的数组preOrder特点是元素遵循 |根元素|左子树|右子树|;中序的数组inOrder特点为元素遵循 |左子树|根元素|右子树|,因此可以递归以下步骤来构建子树范围 left > right 时返
思路对称的定义,根节点相等,左右子树对称,因此可以使用递归遍历递归截止条件1)根节点值相等3)使用两个指针,一个左子树遍历,一个右子树遍历,如果这两个指针始终相等,则表示左右子树是对称的/** * Definition for a binary tree node. * public class T
思路递归翻转左右子树,则可以获取翻转树递归终止条件1)输入的节点为null2)左右子树交换结束/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;
题目地址思路判断子结构,也就是说可能存三种情况完全和树相同和树的右子树相同和树的左子树相同递归判断/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left