关于迭代法的理解及其使用注意事项
1 迭代法的话, 本质上就是挨个遍历的意思, 只不过是根据题目条件的不同导致的遍历的方式和顺序发生了变化
2 听说迭代法和队列与栈更配哦
反正, 这几次遇到的几道题目, 一般比较有点技巧的迭代法, 都会借助队列和栈来帮助完成
关于队列和栈:
本质上就是一个容器, 但是由于其存取数据的特殊性, 我们通常可以使用其来简化多指针的操作
举个栗子:
就拿第101题, 二叉树的镜像对称问题来说, 如果采用迭代法的话, 我们就需要记录4个指针, 分别是两个父节点指针和两个子节点指针, 但是通过使用这两个容器, 我们可以把父指针指向节点的 两个孩子节点放入容器中, 作为下一次遍历的父节点, 这样的话就大大减少了引用的数量, 还是一个挺不错的技巧
3 感觉就是, 关于迭代法, 是用来遍历每一个需要进行操作对象的, 而借助队列和栈的数据结构, 是用来存储下一次需要遍历的对象的.
由于队列和栈特殊的进出特性, 对于遍历过的元素可以直接取出, 而没有遍历过的元素可以动态的放入容器中