
c++
Komorebi_Liao
被卷死的那个CS学生。
展开
-
二叉树的迭代遍历 前序 中序 后序 模板
我们以中序遍历为例,在二叉树中序遍历使用栈的话,无法同时解决访问节点(遍历节点)和处理节点(将元素放进结果集)不一致的情况。如何标记呢,就是要处理的节点放入栈之后,紧接着放入一个空指针作为标记。这种方法也可以叫做标记法。那我们就将访问的节点放入栈中,把要处理的节点也放入栈中但是要做标记。使用非标记法写的话,中序的代码风格和前后序完全不同。使用标记法,可以统一三种遍历。原创 2023-03-02 16:48:43 · 380 阅读 · 0 评论 -
c++ 哈希map unorder map set 存放自定义结构体作为key
c++中的哈希map,即unorder_set与unorder_map如何使用结构体作为key,也就是说,如果使用自定义结构体,需要重载`hash`函数和`equal`函数相比set,map只需要多加一个value类型即可。也就是说,如果使用自定义结构体,需要重载。原创 2022-11-14 19:35:14 · 2065 阅读 · 0 评论 -
c ++ Set存放自定义 结构体 类 重载比较运算符
重载操作在类内实现可以少写一个参数,因为自身的值可以直接使用。结构体重载操作在结构体外实现。原创 2022-11-14 11:33:59 · 1004 阅读 · 0 评论 -
leetcode 3. 无重复字符的最长子串 优化代码效率
核心内容是使用一个set或者map维护当前窗口出现的字符。查看了一下别人运行速度最快的写法发现优化方法是。标准解法:滑动窗口,可见官方题解。原创 2022-11-10 10:21:13 · 192 阅读 · 0 评论