LintCode 68. 二叉樹的後序遍歷
阿新 • • 發佈:2018-01-27
efi values arraylist problem public cor bin push_back com
題目:給出一棵二叉樹,返回其節點值的後序遍歷。
樣例
給出一棵二叉樹 {1,#,2,3}
,
1
2
/
3
返回 [3,2,1]
你能使用非遞歸實現麽?
解:遞歸解,非遞歸以後補充
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * }*/ class Solution { public: /* * @param root: A Tree * @return: Postorder in ArrayList which contains node values. */ vector<int> postorderTraversal(TreeNode * root) { // write your code here vector<int> re; if(root!=NULL) { postorder(root,re); }return re; } void postorder(TreeNode* node,vector<int> &re) { if(node==NULL) return; if(node->left!=NULL) postorder(node->left,re); if(node->right!=NULL) postorder(node->right,re); re.push_back(node->val); } };
LintCode 68. 二叉樹的後序遍歷