108.将有序数组转化为二叉搜索树:一眼就看出了方法,但是没反应过来要怎么构造二叉树。总体写法类似前中序数组构造二叉树,将数组分成左右区间,分别构造左子树和右子树。其实是一个反复递归出一个节点的过程。理解后自己一遍就写对了。
538.把二叉搜索树转化为累加树:经典双指针法,写起来真的容易。注意要从大到小遍历,因此是反向中序,即右中左遍历。
669.修建二叉搜索树:看了一半的视频,理解思路后自己一遍写出来了,感觉到自己逐渐熟悉二叉树的递归函数了。这题删除节点的方式和纯删除节点那题类似。
二叉树完结撒花,感觉后面天天都在递归法,已经不记得怎么用迭代法了,就对层序遍历的迭代法有印象了。零碎的知识着实不少。
涉及到二叉树的构造,一般用前序,从根节点构造。对于普通二叉树,一般用后序,下面的节点一步步操作往上返回。对于搜索二叉树,用中序,利用有序性,经常使用双指针。
涉及到找路径的问题,可能要用到回溯。包括涉及到判断深度之类的。
暴力解法经常是把二叉树变成数组,然后处理数组。
层序遍历注意定义size。突然想起层序遍历那可以速刷10题力扣呢>_<
希望下个章节也能顺利吧。