迭代可以通过,递归不能通过

#coding:utf-8
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @return int整型
#
class Solution:
    def minNumberDisappeared(self , nums ):
        # write code here
        if not nums:
            return 1
        for i in range(len(nums)):
#             if nums[i]<=0 or nums[i]==i+1 or nums[i]>len(nums):
#                 continue
#             self.local_sort(nums,i)
            while nums[i]>0 and nums[i]!=i+1 and nums[i]<=len(nums):
                target_index = nums[i]-1
                nums[i],nums[target_index] = nums[target_index],nums[i]
        for i in range(len(nums)):
            if nums[i]!=i+1:
                return i+1
        return len(nums)+1
    
#     def local_sort(self,nums,i):
#         print(i,nums,nums[i])
#         target_index = nums[i]-1
#         if target_index<0 or target_index>=len(nums) or nums[target_index]==nums[i]:
#             return
#         nums[i],nums[target_index] = nums[target_index],nums[i]
#         self.local_sort(nums, i)