C++
文章平均质量分 58
JKL27
这个作者很懒,什么都没留下…
展开
-
【LeetCode|数据结构】剑指 Offer 33. 二叉搜索树的后序遍历序列
Step1. 根据 arr 的最后一个元素,将其之前的序列进行划分(左子树、右子树);如果存在不能划分的情况,返回 false。Step2. 递归判断左右子区间,直至当前区间不能再被划分。原创 2023-08-20 16:43:27 · 281 阅读 · 0 评论 -
【LeetCode-Medium】833. 字符串中的查找与替换
Step1. 初始化 `ans[]`。Step2. 根据 `index, source, target` 查找;如果找到,那么将 `ans[i]` 更改为 `target`,并将其后source.length()-1位设为空(被替换)。Step3. 拼接 `ans[]` 为一个字符串。原创 2023-08-15 21:38:07 · 399 阅读 · 0 评论 -
【LeetCode-中等】剑指 Offer 36. 二叉搜索树与双向链表
Step1. 后序遍历,寻找 root 的最左侧和最右侧节点,分别设为 head, tail。Step2. 补充寻找指定节点左子树最右侧、右子树最右侧的节点的代码。Step3. 构建 head 和 tail 之间的联系。原创 2023-08-09 17:29:16 · 280 阅读 · 0 评论 -
【LeetCode-中等】722. 删除注释
Step1. 先将source合并为一个字符串进行处理,中间补上’\n’,方便后续确定注释开始、结束位置。Step2. 定义数组 toDel,记录每一个注释开始、结束的位置;进行状态转移。对于 /**/ 类型的注释的结束符 */,如果匹配失败,则需要回退一位。Step3. 遍历 toDel,得到不含注释的中间结果 tmpAns。Step4. 根据 \n 来分割 tmpAns 即可。原创 2023-08-03 17:53:00 · 240 阅读 · 0 评论 -
【LeetCode|编译原理】剑指 Offer 20. 表示数值的字符串
Step1. 去除字符串左、右空格。Step2. 写出正规文法。Step3. 根据正规文法画出NFA。Step4. 根据NFA写代码:从左至右遍历,遇到包含ε的转移,单独处理。遍历完成后,看状态是否为终态(2、4、7),是则返回 true,否则 false。原创 2023-07-31 11:23:45 · 141 阅读 · 0 评论