今日刷题

https://leetcode.cn/problems/NYBBNL/
思路:
递归构建,可以建立一个虚拟的头节点指针然后再次基础上构建
踩坑:左子树要手动设为nullptr否则会报错
//新思路:有返回值的函数也可以选择在递归的时候不接受返回值正常递归
//二分搜索如果没有那个值想要返回他的第一个比他大的数那么就要搜左边界 :即值相等的时候缩 r=m-1;
//相反 l=m+1;
https://leetcode.cn/problems/sum-of-left-leaves/
思路:前序遍历 首先确定终止条件
然后确定什么条件下进行对数值的处理 本题中就是找到了左页子页 两个点第一他是左子叶第二他是页节点
思路2:分解的思想做:确定返回值,输入,终止条件
单层遍历,左子树的左页子节点和,右子树左叶子节点和;
处理:如果他是左叶子节点 令 l=root->left->val; 《——这里有点小疑问
然后sum=l+r;
https://leetcode.cn/problems/find-bottom-left-tree-value/
思路不清:怎么确定他是最深??
//左优先,回溯算深度;这个应该算是二叉树里+回溯的用法;
https://leetcode.cn/problems/repeated-dna-sequences/
思路:几个错误:1 后面程序我有对字符串大小减10 然后用它循环,但是再次之前我没判断字符串长度是否大10;
2、循环时候size-10是可以取等的;
3、map的val==2加入数组这样不会重复加入。如果只是大于加入就会反复加入
https://leetcode.cn/problems/maximum-depth-of-n-ary-tree/
思路: 这个是求深度所以对于每一个进入的点来说他的初始深度都是0 要通过返回值来知道他的深度
对每个点取最值 然后递归孩子节点,最后返回dep+1;
https://leetcode.cn/problems/minimum-depth-of-binary-tree/
思路不清

posted @ 2024-05-17 01:43  慢慢来会很快  阅读(1)  评论(0编辑  收藏  举报