코테준비 - Binary Tree Postorder Traversal

정상화·2023년 2월 26일

LeetCode

목록 보기
141/222

Binary Tree Postorder Traversal


class Solution {
public:
    vector<int> postorderTraversal(TreeNode* root) {
        if (root == nullptr) {
            return {};
        }
        stack<TreeNode*> stk;
        unordered_set<TreeNode*> visited;
        stk.push(root);
        vector<int> res;
//        res.push_back(root->val);
        while (!stk.empty()){
            auto node = stk.top();

            if (node->left != nullptr && visited.find(node->left) == visited.end()) {
                stk.push(node->left);
//                res.push_back(stk.top()->val);
                visited.insert(node->left);
            }
            else if (node->right != nullptr && visited.find(node->right) == visited.end()) {
                stk.push(node->right);
//                res.push_back(stk.top()->val);
                visited.insert(node->right);
            }else{
                res.push_back(node->val);
                stk.pop();
            }
        }
        return res;
    }
};
profile
백엔드 희망

0개의 댓글