class Solution {
public:
void scan( TreeNode *root,vector<int> &vec ) {
if( root == NULL ) return;
if( root -> left == NULL ) {
vec.push_back( root -> val );
scan( root -> right,vec );
return;
}
if( root -> right == NULL ) {
scan( root -> left,vec );
vec.push_back( root -> val );
return;
}
scan( root -> left,vec );
vec.push_back( root -> val );
scan( root -> right,vec );
}
vector<int> inorderTraversal(TreeNode *root) {
vector<int> vec;
scan( root,vec );
return vec;
}
};
使用递归方法做是很简单的,如果要使用迭代方法,应该需要用一个stack来保存中间节点的指针。
BinaryTreeInorder(leetcode)
最新推荐文章于 2024-08-04 20:32:32 发布