- 写下一些idea,感觉练习算法的正确步骤就像做数学练习题。产生idea->细化idea->画出状态图->代码
遍历二叉树需要栈这种数据结构,递归函数就是这样的,我们想要非递归遍历二叉树需要自定义栈的操作
第一步 访问current节点
第二 步 如果current->left==NULL 跳转第三步,否 current节点入栈,并且更新current节点为current->left 也即 current=current->left 并跳转到第一步
第三步 如果current->right为NULL跳转到第四步,否 current=current->right 并跳转到第一步
第四步 弹出栈顶并更新current节点 跳转到第五步
第五步 如果current->right==NULL 则跳转到第四步 否跳转第六步
第六步 current=current->right 并跳转到第一步
跟着idea(其实有点有限状态机的意思)来codeing比较有效率
二叉搜索树的非递归遍历之先序
最新推荐文章于 2022-08-27 00:17:34 发布