二叉树中序遍历复习
来源:互联网 发布:数据帧的结构 编辑:程序博客网 时间:2024/06/18 11:34
Given a binary tree, return the inorder traversal of its nodes’ values.
For example:
Given binary tree [1,null,2,3],
1
\
2
/
3
return [1,3,2].
Note: Recursive solution is trivial, could you do it iteratively?
解答如下(注释为递归方法,复杂度太大,通不过测试):
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> inorderTraversal(TreeNode* root) { stack<TreeNode*> Stack; vector<int> value; TreeNode *ptr; ptr = root; while (ptr != NULL || !Stack.empty()) { if (ptr != NULL) { Stack.push(ptr); ptr = ptr->left; } else { ptr = Stack.top(); Stack.pop(); value.push_back(ptr->val); ptr = ptr->right; } } return value; } /* vector<int> value; if (root == NULL) return value; if (root->left == NULL && root->right == NULL) { value.push_back(root->val); return value; } while (root->left != NULL || root->right != NULL){ if (root->left != NULL) inorderTraversal(root->left); value.push_back(root->val); if (root->right != NULL) inorderTraversal(root->right); } return value; } */};
1 0
- 二叉树中序遍历复习
- 二叉树前序遍历复习
- 二叉树的各种遍历,二叉树改链表,二叉树复习
- 算法复习之二叉树的遍历
- 数据结构复习——二叉树的表示及遍历
- android复习路之二叉树层次遍历并且分层
- 二叉树非递归遍历复习代码实现
- 算法复习:二叉搜索树的后序遍历序列
- 【复习笔记】二叉树的前中后非递归遍历算法
- 二叉树中序遍历
- 二叉树中序遍历(递归)
- 数据结构 -- 二叉树中序遍历
- 二叉树中序遍历
- [leetcode]二叉树中序遍历
- 二叉树中序遍历
- Lintcode 二叉树中序遍历
- 二叉树中序遍历
- 二叉树中序遍历
- Fragment + TabLayout (页签指示器)
- c++stack容器介绍
- oracle学习之:glogin.sql脚本模板
- Android 获取指南针数据
- 双重校验锁:Java并发编程中的陷阱
- 二叉树中序遍历复习
- Linux安装JDK和配置环境变量
- Ruby 笔记
- 移动端案例、web前端项目实战(HTML5+css3)、webApp实例源码
- jQuery中事件命名空间
- RDD基础学习-[5]PairRDD关联函数基础
- android 自定义Toast
- #ifndef #define #endif #ifdef 避免重复引用
- python爬取链家数据