Thursday, August 10, 2017

606. Construct String from Binary Tree

https://leetcode.com/problems/construct-string-from-binary-tree/description/
Use pre-order tree traversal. Note that the left (or right) branch and its sub-nodes are surrounded by "()". Add "(" and ")" accordingly.
    void preOrder(TreeNode *node, string &tStr){
        if(!node) return;
        tStr += to_string(node->val);
        if(node->left) {
            tStr += "(";
            preOrder(node->left, tStr);
            tStr += ")";
        }
        
        if(node->right) {
            if(!node->left)
                tStr += "()";
            tStr += "(";
            preOrder(node->right, tStr);
            tStr += ")";
        }
    }
    string tree2str(TreeNode* t) {
        string treeStr;
        preOrder(t, treeStr);
        return treeStr;
    }

No comments:

Post a Comment