= =买了书才能做的题。。。
就是按说明来搞就行了,没啥算法。。。
注意要把以前的left,right设置为nullptr,不然就是有环了,代码中加黑部分。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* rotate(TreeNode* root) { if (root == nullptr || root->left == nullptr) { ans = root; return root; } TreeNode* tree = rotate(root->left); tree->right = root; tree->left = root->right; root->left = nullptr; root->right = nullptr; return tree->right; } TreeNode *upsideDownBinaryTree(TreeNode *root) { ans = nullptr; rotate(root); return ans; } private: TreeNode* ans; };
by 1957
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步