由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 再问个C++的基础问题(in order traversal)
相关主题
相关话题的讨论汇总
话题: root话题: res话题: vector话题: doinorder话题: treenode
进入JobHunting版参与讨论
1 (共1页)
g********E
发帖数: 178
1
recursive的,用leetcode online judge里的格式,结果写成了这样:
//help function
void doinorder(TreeNode *root, vector &res){
if (root == NULL) return;
doinorder(root->left, res);
res.push_back(root->val);
doinorder(root->right, res);
}
//main function
vector inorderTraversal(TreeNode *root){
vector res;

doinorder(root, res);

return res;
}
--------
是不是太复杂了,有什么可以简化的么?要返回一个空vector是不是只能先新建一个空
的?多谢指教了!
d**e
发帖数: 6098
2
你觉得复杂在哪里?我不觉得有什么问题...

【在 g********E 的大作中提到】
: recursive的,用leetcode online judge里的格式,结果写成了这样:
: //help function
: void doinorder(TreeNode *root, vector &res){
: if (root == NULL) return;
: doinorder(root->left, res);
: res.push_back(root->val);
: doinorder(root->right, res);
: }
: //main function
: vector inorderTraversal(TreeNode *root){

g********E
发帖数: 178
3
函数参数都拖着result vector,不知道是不是用static更好?

【在 d**e 的大作中提到】
: 你觉得复杂在哪里?我不觉得有什么问题...
g********E
发帖数: 178
4
还有
if(!root) 和 if(root == NULL) 是完全等价的么?
d**e
发帖数: 6098
5
我觉得static更不好,因为如果大家都call同一个method就share了这个vector,所以还
是用自己的vector好.

【在 g********E 的大作中提到】
: 函数参数都拖着result vector,不知道是不是用static更好?
k****e
发帖数: 116
6
你这个main function返回一个local的vector的value,这样开销比较大吧。用new然后
返回一个pointer,我觉得更好些

【在 g********E 的大作中提到】
: recursive的,用leetcode online judge里的格式,结果写成了这样:
: //help function
: void doinorder(TreeNode *root, vector &res){
: if (root == NULL) return;
: doinorder(root->left, res);
: res.push_back(root->val);
: doinorder(root->right, res);
: }
: //main function
: vector inorderTraversal(TreeNode *root){

g********E
发帖数: 178
7
en,有理!

【在 d**e 的大作中提到】
: 我觉得static更不好,因为如果大家都call同一个method就share了这个vector,所以还
: 是用自己的vector好.

g********E
发帖数: 178
8
main function格式是按leetcode给的格式来得。如果我用new,写出来是这样吗?
void doinorder(TreeNode *root, vector * res){
...
*res.push_back(root->val);
}
vector* inorderTraversal(TreeNode *root){
vector *res = new vector;
...
return res;
}

【在 k****e 的大作中提到】
: 你这个main function返回一个local的vector的value,这样开销比较大吧。用new然后
: 返回一个pointer,我觉得更好些

j********x
发帖数: 2330
9
RVO

【在 k****e 的大作中提到】
: 你这个main function返回一个local的vector的value,这样开销比较大吧。用new然后
: 返回一个pointer,我觉得更好些

1 (共1页)
进入JobHunting版参与讨论
相关主题
相关话题的讨论汇总
话题: root话题: res话题: vector话题: doinorder话题: treenode