力扣-606. 根据二叉树创建字符串

Idea

判断几种情况

  1. 只有左子树的时候,后边不用加括号
  2. 只有右子树的时候,左子树需要加一个空括号
  3. 左右子树都存在时候,左右都需要被括号 括起来

AC Code

class Solution {
public:
    string tree2str(TreeNode* root) {
        string ans;
        if(!root) return "";
        ans+=to_string(root->val);
        if(root->left && !root->right) return ans + '(' + tree2str(root->left) + ')';
        else if(!root->left && root->right) return ans +"()" + '(' + tree2str(root->right) + ')';
        else if(root->left && root->right) return ans + '(' + tree2str(root->left) + ')'+ '(' + tree2str(root->right) + ')';
        return ans;
    }
};

你可能感兴趣的:(LeetCode,leetcode,算法)