leetcode-606. Construct String from Binary Tree

来源:互联网 发布:win7其他 软件卸载 编辑:程序博客网 时间:2024/06/05 05:37

考察点:递归,二叉树;
思路:注意初始情况就行。
C++代码:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    string help(TreeNode* t) {        if (t->left==NULL && t->right == NULL)            return "(" + to_string(t->val) + ")";        if (t->left==NULL && t->right) {            return "("+to_string(t->val)+"()" + help(t->right) + ")";        }        if (t->left && t->right==NULL) {            return "("+to_string(t->val)+help(t->left) + ")";        }        if (t->left && t->right) {            return "("+to_string(t->val)+help(t->left) + help(t->right)+")";        }    }    string tree2str(TreeNode* t) {        if (t == NULL)  return "";        if (t->left==NULL && t->right == NULL)            return to_string(t->val);        if (t->left==NULL && t->right) {            return to_string(t->val)+"()" + help(t->right);        }        if (t->left && t->right==NULL) {            return to_string(t->val)+help(t->left);        }        if (t->left && t->right) {            return to_string(t->val)+help(t->left) + help(t->right);        }    }};