Beispiel #1
0
	//递归实现
	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);
     }
 }
Beispiel #3
0
    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;
 }