//递归实现 void inorderTraversal_recursive(TreeNode* node, vector<int> &res) { if(NULL == node) return; inorderTraversal_recursive(node->left, res); res.push_back(node->val); inorderTraversal_recursive(node->right, res); }
void inorderTraversal_recursive(TreeNode *root, vector<int> &ret) { if (!root) return; if (root->left) { inorderTraversal_recursive(root->left, ret); } ret.push_back(root->val); if (root->right) { inorderTraversal_recursive(root->right, ret); } }
vector<int> inorderTraversal(TreeNode* root) { vector<int> res; inorderTraversal_recursive(root, res); return res; //inorderTraversal_unre(root); }
vector<int> inorderTraversal(TreeNode* root) { vector<int> result; if (rand() % 2) { inorderTraversal_recursive(root, result); } else { inorderTraversal_iterative(root, result); } inorderTraversal_iterative(root, result); return result; }