код Java работает, а код python - нет, почему? Как получить доступ к глобальной переменной внутри класса в Python?Как использовать глобальную переменную в классе python?
Python код:
Definition for a binary tree node.
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
previous = None
class Solution(object):
def isValidBST(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
if not root:
return True
if not self.isValidBST(root.left):
return False
if previous!=None and previous >= root.val:
return False
previous = root.val
return self.isValidBST(root.right)
Line 20: UnboundLocalError: local variable 'previous' referenced before assignment.
Java код:
public class Solution {
private Integer previous = null;
public boolean isValidBST(TreeNode root) {
if(root == null){
return true;
}
if(!isValidBST(root.left)){
return false;
}
if(previous != null && previous>=root.val){
return false;
}
previous = root.val;
return isValidBST(root.right);
}
}
Как получить доступ к нему на 'outside'? – dsgdfg
Вам необходимо передать объект Solution, проверить мое редактирование – dhdavvie