Traversal

Preorder

144. Binary Tree Preorder Traversal

See more my solutions here

// OJ: https://leetcode.com/problems/binary-tree-preorder-traversal/
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(H)
class Solution {
public:
    vector<int> preorderTraversal(TreeNode* root) {
        if (!root) return {};
        vector<int> ans;
        stack<TreeNode*> s{{root}};
        while (s.size()) {
            root = s.top();
            s.pop();
            ans.push_back(root->val);
            if (root->right) s.push(root->right);
            if (root->left) s.push(root->left);
        }
        return ans;
    }
};

Or

See also 589. N-ary Tree Preorder Traversal (Easy)

Inorder

94. Binary Tree Inorder Traversal (Easy)

See more my solutions here

Postorder

145. Binary Tree Postorder Traversal (Easy)

See more my solutions here

See also 590. N-ary Tree Postorder Traversal (Easy)

Level-order

102. Binary Tree Level Order Traversal (Medium)

See more my solutions here

Other variations

Problems

Last updated

Was this helpful?