На что 'k' префикс указывает в API Apple? [дубликат]

В будущем попытайтесь выполнить некоторую отладку и предоставить пример выходных данных и ожидаемый результат.

Рассмотрим ниже

def _remove(self, key, node):
        if node == None:
            return None
        if key == node.key:
            if node.left and not node.right:  # only left
                return node.left
            elif node.right and not node.left: # only right
                return node.right
            elif not node.right and not node.left: # neither
                return None
            else : # both
                inorder_successor = node.right
                while inorder_successor.left:
                    inorder_successor = inorder_successor.left
                # remember to replace inorder_successor with it's right child
                ...
                ...
                return inorder_successor

        # iterates recursively in the bst
        elif key <= node.key:
            node.left = self._remove(key, node.left)
        else:
            node.right = self._remove(key, node.right)

        return node

Несколько замечаний о том, что изменилось

  1. Вы проверяете на None, используя is != None, что очень непитонно. Просто проверьте вместо is и is not
  2. . Правильный способ замены узла в BST, у которого есть оба потомка, - это преемник по порядку следования (самый левый потомок правого потомка удаленного узла) [ 116]
47
задан woz 19 July 2012 в 17:31
поделиться

2 ответа

Средства k, постоянные в венгерской записи..., видят Нижний регистр "k" в Какао.

44
ответ дан Community 26 November 2019 в 19:55
поделиться

Это - соглашение о присвоении имен с первых лет программирования макинтоша. Это указывает на константу.

1
ответ дан 1800 INFORMATION 26 November 2019 в 19:55
поделиться