144. Binary Tree Preorder Traversal - cocoder39/coco39_LC GitHub Wiki

144. Binary Tree Preorder Traversal

vector<int> preorderTraversal(TreeNode* root) {
        vector<int> res;
        stack<TreeNode*> s;
        while (root || ! s.empty()) {
            if (root) {
                res.push_back(root->val);
                s.push(root);
                root = root->left;
            }
            else { //! root && ! s.empty()
                TreeNode* node = s.top();
                s.pop();
                root = node->right;
            }
        }
        return res;
    }
⚠️ **GitHub.com Fallback** ⚠️