[LeetCode] Binary Tree Postorder Traversal

vector<int> postorderTraversal(TreeNode *root) {
	vector<TreeNode*> pre_node;
	vector<int> val;
	pre_node.push_back(root);

	while(!pre_node.empty())
	{
		TreeNode* cur_node = pre_node.back();
		TreeNode* left_leaf = NULL;
		TreeNode* right_leaf = NULL;
		if(cur_node != NULL)
		{
			left_leaf = cur_node->left;;
			right_leaf = cur_node->right;
			val.insert(val.begin(), cur_node->val);
		}
	
		pre_node.pop_back();
		if(left_leaf != NULL)
		{
			pre_node.push_back(left_leaf);
		}            
		if(right_leaf != NULL)
		{
			pre_node.push_back(right_leaf);
		}
	}
	return val;
}


你可能感兴趣的:(LeetCode,刷题)