前序和中序遍历的结果,就是两个数组,比如:
前序 : 1、2、4、3、5、6
中序 : 4、2、1、5、3、6
原理:
1.首先确定根节点的位置,前序遍历的第一个位置就是根节点,然后去中序遍历中找到这个根节点的位置,根节点的左边所有的数就是左子树上的节点,右边所有的节点就是右子树上的节点:
2.对左子树和右子树同样用上述方法递归的重建。
代码(OC):


返回的值,就是根节点
验证,我是使用递归,分别打印各个节点的值,至于非递归的方式,以后再写

前序和中序遍历的结果,就是两个数组,比如:
前序 : 1、2、4、3、5、6
中序 : 4、2、1、5、3、6
原理:
1.首先确定根节点的位置,前序遍历的第一个位置就是根节点,然后去中序遍历中找到这个根节点的位置,根节点的左边所有的数就是左子树上的节点,右边所有的节点就是右子树上的节点:
2.对左子树和右子树同样用上述方法递归的重建。
代码(OC):
返回的值,就是根节点
验证,我是使用递归,分别打印各个节点的值,至于非递归的方式,以后再写
本文标题:根据前序和中序遍历二叉树的结果,重建二叉树
本文链接:https://www.haomeiwen.com/subject/fseunhtx.html
网友评论