538. Convert BST to Greater Tree
题目来源:
自我感觉难度/真实难度:
题意:
分析:
自己其实想到了可以不用先转化成list,直接反向递归操作,但是写代码时依然有些混乱
自己的代码:
代码效率/结果:
优秀代码:
class Solution(object): def convertBST(self, root): """ :type root: TreeNode :rtype: TreeNode """ self.sum = 0 def afterOrder(cur): if not cur: return afterOrder(cur.right) self.sum += cur.val cur.val = self.sum afterOrder(cur.left) afterOrder(root) return root
代码效率/结果:
Runtime: 104 ms, faster than 29.25% of Python online submissions for Convert BST to Greater Tree.
自己优化后的代码:
反思改进策略:
1.对self的使用不是很明了。 类内函数要用self,函数内定义函数不用self
参见博客:https://blog.csdn.net/CLHugh/article/details/75000104
2.递归使用不熟悉: 从简单的着手,其实不难