关于迭代法的理解及其使用注意事项
1 迭代法的话, 本质上就是挨个遍历的意思, 只不过是根据题目条件的不同导致的遍历的方式和顺序发生了变化
2 听说迭代法和队列与栈更配哦
反正, 这几次遇到的几道题目, 一般比较有点技巧的迭代法, 都会借助队列和栈来帮助完成
关于队列和栈:
本质上就是一个容器, 但是由于其存取数据的特殊性, 我们通常可以使用其来简化多指针的操作
举个栗子:
就拿第101题, 二叉树的镜像对称问题来说, 如果采用迭代法的话, 我们就需要记录4个指针, 分别是两个父节点指针和两个子节点指针, 但是通过使用这两个容器, 我们可以把父指针指向节点的 两个孩子节点放入容器中, 作为下一次遍历的父节点, 这样的话就大大减少了引用的数量, 还是一个挺不错的技巧
3 感觉就是, 关于迭代法, 是用来遍历每一个需要进行操作对象的, 而借助队列和栈的数据结构, 是用来存储下一次需要遍历的对象的.
由于队列和栈特殊的进出特性, 对于遍历过的元素可以直接取出, 而没有遍历过的元素可以动态的放入容器中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通