1.找树左下角的值:代码随想录
1.迭代法中那个result是每个while循环,其值都要改变一次,直到最后一次while循环,其值就变成了最后一层的第一个值。
2.记得最开始的时候要把root放到que中。
2.路径总和:代码随想录
1.若不涉及到中节点的处理逻辑,则前中后序遍历都是可以的。此处有点不太理解。
2.为了简化代码,传入的可以是目标值,然后遍历一个节点减去一个节点的值,判断到叶子节点是否为零。
3.如果要搜索其中一条符合条件的路径,那么递归一定需要返回值,因为遇到符合条件的路径了就要及时返回。(本题的情况)
4.一定注意:最后在题目自带的函数中return里参数为sum-root->val而不是sum,因为只遍历头结点下面的节点,所以要把头结点的值先给去掉。
5.这份代码中没有“中”的逻辑,其实是有的,中其实就是对节点进行处理的操作,他隐藏在左和右的if后的代码中(为count的操作)。
3.路径总和ii:代码随想录
1.与上面一样,中的操作隐藏在左和右的代码之中,(对count的操作)。
2.代码中的return是return到上一级即上一个节点。
3.clear()函数的作用是清空列表中的元素,要记得有这个步骤。
4.一定注意这个result和path是全局变量,要写在函数外面。
5.一定注意:最后traversal传入的参数为sum-root->val!!!错啦好几次了。
4.通过中序和后序遍历来确定唯一二叉树:代码随想录
1.首先回忆一下如何根据两个顺序构造一个唯一的二叉树,相信理论知识大家应该都清楚,就是以 后序数组的最后一个元素为切割点,先切中序数组,根据中序数组,反过来在切后序数组。一层一层切下去,每次后序数组最后一个元素就是节点元素。(其实就是先看后序,再看中序,再看后序,再看中序,一次次切割。)
2.一定注意,在分割后序数组之前,需要先将后序数组的最后一个元素移除。
3.最后对左右子树递归的时候,要把节点写清楚,写好,要不然就会报错。
总结:本题主要是了解整个过程以及思路、切割点以及切割区间。