leetcode刷题,总结,记录,备注 94
来源:互联网 发布:mac安装win8系统网卡 编辑:程序博客网 时间:2024/06/05 05:39
Given a binary tree, return the inorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3}
,
1 \ 2 / 3
return [1,3,2]
.
Note: Recursive solution is trivial, could you do it iteratively?
leetcode刷题94,二叉树中序遍历问题,三种遍历使用递归的话都很方便,使用迭代的方式稍微麻烦点。
/** * 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) { vector<int> TreeNodeVal; stack<TreeNode *> sTreeNode; TreeNode * temp; if (root == NULL) return TreeNodeVal; temp = root; while (temp || !sTreeNode.empty()) { while (temp) { sTreeNode.push(temp); temp = temp->left; } if (!sTreeNode.empty()) { temp = sTreeNode.top(); sTreeNode.pop(); TreeNodeVal.push_back(temp->val); temp = temp->right; } } return TreeNodeVal; }};一律先将左子树一溜入栈,在弹栈的时候,将当前节点值加入容器中,并对自己的右节点进行操作,从而达到中序的目的,,具体让我仔细讲我也讲不清楚,关键还是自己画个树实地做几步操作可以自己更好的理解。我也是看了别人的解法,才理解这个题目的。
0 0
- leetcode刷题,总结,记录,备注 94
- leetcode刷题 总结,记录,备注 53
- leetcode刷题。总结,记录,备忘 104
- leetcode刷题。总结,记录,备忘 100
- leetcode刷题。总结,记录,备忘 191
- leetcode刷题。总结,记录,备忘。168
- leetcode刷题, 总结,记录,备忘 171
- leetcode刷题 ,总结,记录,备忘。144
- leetcode刷题,总结,记录, 备忘 141
- leetcode刷题,总结,记录,备忘。116
- leetcode刷题,总结,记录,备忘。96
- leetcode刷题。记录,总结,备忘。217
- leetcode 刷题, 总结,记录,备忘 35
- leetcode刷题,总结,记录,备忘 226
- leetcode刷题,总结,记录,备忘 169
- leetcode刷题,总结,记录,备忘137
- leetcode刷题,总结,记录,备忘83
- leetcode刷题,总结,记录,备忘70
- 向上转型
- volatile
- 国内著名IT公司官网log荟萃
- 数据泵导入下标超出数量问题解决
- javaI/O操作之文件的切割合并
- leetcode刷题,总结,记录,备注 94
- norflash和nandflash电路
- JSP标准标签库
- 第十四周阅读项目(3)
- 用Python开始机器学习(2:决策树分类算法)
- #if _MSC_VER > 1000 #pragma once #endif 作用解释
- OC基础学习——Block语法的学习和Category与Extension的初步认识
- Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
- sql语句添加和删除约束