代码随想录刷题 Day18

513.找树左下角的值

用层序遍历比较简单,一直遍历到最后一行的第一个元素,用迭代比较简单,直接用que模板改;时间不够递归先不看了;

112. 路径总和 113.路径总和ii

这个题也要做回溯,一个很巧妙的点是用count 见node->val; 当到达叶子结点而且count==0,则返回true,不然就返回false;由于count 到叶子结点数值变成了一,所以回溯过程需要把count加回来;时间因素暂时只做了112题;

106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

这个题代码比较难了,写不出二刷再看吧

 方法:后序数组的最后一个元素为切割点,先切中序数组,根据中序数组,反过来再切后序数组。一层一层切下去,每次后序数组最后一个元素就是节点元素

注意:切中序数组是构造了一个index来切割,切后序是用上一步切好的左区间的大小来切, 就不构造新的index了;

要注意统一切割的边界条件;

你可能感兴趣的:(数据结构,leetcode,算法)