第一次写博客
因为看到一篇文章,是搞编程的学长写的,他在求职的时候,面试官说他提前看过了学长的博客,我在想我也应该把自己写代码的一些心得一些问题写出来,虽然在上大学之前,从来没有这样接触电脑,除了玩游戏以外,我连装系统都不会,但是对于写代码我也有自己的想法,我并非热爱编程,可能因为从来没有过目标,所以对什么也不感兴趣。我现在刚上大一,目前是大一下学期,正在学习数据结构和算法,偶然一次问老师一道题,根据先序遍历和中序遍历,还原二叉树,老师说这个可以用代码实现,我就第一次尝试自己写一份代码,之前的代码一部分是自己的思想,一部分是复制粘贴别人的代码,成就感不强,这次的代码从头到尾全是我自己写的,写完很激动。
题目:先序:"abdgcefh";中序:"dgbaechf";,还原这棵二叉树
我是这样处理这问题的,首先我并不懂如何还原,我要知道还原的原理是什么,我百度了一下,这样的题是如何求解的,于是有了答案,我把步骤分解一下:
先序的第一个一定是树根,根据树根,中序当中可以分为三部分,根据中序分的部分,先序也可以分成三部分
先序的三部分:a bdg cefh,中序的三部分:dgb a echf
从这部分可以看出,a是根,左孩子是“bdg”这部分,右孩子是“echf”这部分,然后采用递归的思想对左右孩子进行同样的步骤。
我的算法思想很快就形成了,可实现起来,还是走了一点弯路,首先,我一开始就想直接对数组的地址进行操作,于是百度到了一个函数