Leetcode:145. 二叉樹的後序遍歷
阿新 • • 發佈:2018-11-13
給定一個二叉樹,返回它的 後序 遍歷。
示例:
輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [3,2,1]
解題思路:
後序遍歷:1. 左子樹。2.右子樹。3.根節點。
#define hasLChild(x) (!(x->left==NULL)) #define hasRChild(x) (!(x->right==NULL)) class Solution { public: vector<int> postorderTraversal(TreeNode* root) { if (root == NULL) return{}; DFS(root); return res; } void DFS(TreeNode* root) { if (root == NULL) return; if (hasLChild(root)) DFS(root->left); if (hasRChild(root)) DFS(root->right); res.push_back(root->val); } private: vector<int> res; }; |