只能说python3到python差异还挺大的,3to2工具只能修改一部分:下面是转换前后代码比较,每个地方都很值得推敲
python3代码:
class Solution(object):
sumnum = [0]
def dfs(nums: List[int], n: int, xor:int) -> List:
if n == len(nums):
Solution.sumnum[0] += xor
return 0
Solution.dfs(nums, n + 1, xor^nums[n])
Solution.dfs(nums, n + 1, xor)
def subsetXORSum(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
Solution.sumnum[0] = 0
Solution.dfs(nums, 0, 0)
return Solution.sumnum[0]
python2
class Solution(object):
sumnum = [0]
def dfs(self, nums, n, xor):
if n == len(nums):
Solution.sumnum[0] += xor
return 0
Solution().dfs(nums, n + 1, xor^nums[n])
Solution().dfs(nums, n + 1, xor)
def subsetXORSum(self, nums):
u"""
:type nums: List[int]
:rtype: int
"""
Solution.sumnum[0] = 0
Solution().dfs(nums, 0, 0)
return Solution.sumnum[0]