-2
제 질문을 다시 작성하여 명확하게 작성하겠습니다. LeetCode 문제에 대한 문제가 발생했습니다. 이진 검색 트리를 확인하십시오.python 재귀 클래스 변수
나의 첫 번째 솔루션은 다음과 같은 :
class Solution(object):
def recursion(self, input, var_x, ans):
#update var_x
#update ans
self.recursion(input, var_x, ans)
def mySolution(self, input):
ans = []
var_x = 0
self.recursion(input, var_x, ans)
return ans
이 솔루션은 테스트를 통과하지 못합니다. 나는 간단한 변경 한 후, 그것은 전달합니다
class Solution(object):
def recursion(self, input, ans):
#update self.var_x
#update ans
self.recursion(input, ans)
def mySolution(self, input):
ans = []
self.var_x = 0
self.recursion(input, ans)
return ans
self.var_x 대 var_x 선언의 차이점은 무엇입니까? 나는이 두가지가이 문제에서 같은 효과가 있다고 생각하지만, 다른 하나는 그렇지 않은 테스트를 통과합니까?
들여 쓰기를 확인하십시오. –
'prev = node' (no self.prev')를 사용하기 때문에 더 잘 작동한다는 것은 놀랍습니다. 제발 (적절하게 들여 쓰여진) [mcve] –
을 제공하십시오. 이것은 일종의 코딩 경쟁 사이트이므로 많은 것을 말하고 싶지는 않지만 데이터를 제시하는 방식을 오해했을 수 있습니다. 그것은 당신이 노드 N의 자식들이 2N과 2N + 1로 번호가 매겨진 압축 이진 트리의 배열 표현을 얻는 것처럼 보입니다. 대조적으로, 당신은 노드 객체를 가진 실제 트리를 만드는 것으로 보이고, 그것은 과잉 일 수 있습니다. 답장을 보내 주셔서 감사합니다. –