python 交换两个变量不需要中间变量
做LeetCode刷到“翻转二叉树”这道题,题解几乎都用到递归,本质上遍历二叉树每个节点,然后翻转当前node的左右子树。
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
def recursion(root):
if root is None: #base
return None
root.left, root.right = root.right, root.left #swap
recursion(root.left)
recursion(root.right)
recursion(root)
return root
其中root.left, root.right = root.right, root.left python交换两个变量无需temp,这行代码相当于:
tempTuple = (root.right, root.left)
root.left, root.right = tempTuple
从今天开始记录刷题过程和项目中遇到的小知识点和踩雷经历,供自己以后避雷用!