Skip to content

Commit d92d985

Browse files
array2Tree() fix
passing by value replaced with passing by reference
1 parent 627f3df commit d92d985

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

LeetCode_Easy/binaryTrees/binaryTreesAPI.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ struct TreeNode {
1111
};
1212

1313

14-
void array2Tree(TreeNode** root, vector<int> nums, int index, int size);
14+
void array2Tree(TreeNode** root, vector<int>& nums, int index, int size);
1515
void level2Array(TreeNode* root, int level, vector<int>& a);
1616
void inOrderTraversal(TreeNode* root);
1717
void preOrderTraversal(TreeNode* root);

LeetCode_Easy/binaryTrees/sameTree.cpp

+15-11
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77

88
using namespace std;
99

10-
void array2Tree(TreeNode** root, vector<int> nums, int index, int size) {
11-
if (index < size) {
12-
*root = new TreeNode(nums[index]);
13-
array2Tree(&(*root)->left, nums, 2 * index + 1, size);
14-
array2Tree(&(*root)->right, nums, 2 * index + 2, size);
15-
}
10+
void array2Tree(TreeNode** root, vector<int>& nums, int index, int size) {
11+
if (index >= size)
12+
return;
13+
*root = new TreeNode(nums[index]);
14+
array2Tree(&(*root)->left, nums, 2 * index + 1, size);
15+
array2Tree(&(*root)->right, nums, 2 * index + 2, size);
1616
}
1717

1818
void inOrderTraversal(TreeNode* root) {
@@ -60,7 +60,7 @@ int getSumOfNodes(TreeNode* root) {
6060
return root->val + getSumOfNodes(root->left) + getSumOfNodes(root->right);
6161
}
6262

63-
/*int main() {
63+
int main() {
6464

6565
string buffer;
6666
int tmp;
@@ -73,9 +73,8 @@ int getSumOfNodes(TreeNode* root) {
7373
while (iss >> tmp) {
7474
a.push_back(tmp);
7575
}
76-
array2Tree(&t1, a, 0, a.size());
7776

78-
TreeNode* t2 = nullptr;
77+
/*TreeNode* t2 = nullptr;
7978
cout << "enter the 2nd tree: ";
8079
getline(cin, buffer);
8180
a.clear();
@@ -85,8 +84,13 @@ int getSumOfNodes(TreeNode* root) {
8584
}
8685
array2Tree(&t2, a, 0, a.size());
8786
88-
cout << isSameTree(t1, t2);
87+
cout << isSameTree(t1, t2);*/
88+
89+
preOrderTraversal(t1);
90+
cout << endl;
91+
array2Tree(&t1, a, 0, a.size());
92+
preOrderTraversal(t1);
8993

9094
_getch();
9195
return 0;
92-
}*/
96+
}

0 commit comments

Comments
 (0)