Переписать часть кода из C++ на Python
как я могу переписать этот кусок кода на C++ в Python
void treeFork(treeNode* root)
{
if (root)
{
treeFork(root->left);
if (root->left && root->right)
cout << root->data << " ";
treeFork(root->right);
}
}
вот мой код на Python
class Node:
def init(self, data):
self.left = None
self.right = None
self.data = data
def insert(self, data):
if self.data:
if data < self.data:
if self.left is None:
self.left = Node(data)
else:
self.left.insert(data)
elif data > self.data:
if self.right is None:
self.right = Node(data)
else:
self.right.insert(data)
else:
self.data = data
def fork(root):
if root is None:
return 0
else:
if root.left and root.right:
print(root.data)
m, *n = map(int, input().split())
root = Node(m)
for i in n:
if i!=0:
root.insert(i)
print(str(fork(root)))
мне нужно переписать часть с функцией def fork(root)
суть в том что код должен вывести все разветвления дерева. в моем коде выводит только разветвление из корня, но он не идет дальше. не знаю как написать, что бы код шел дальше по дереву спасибо за помощь
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
А куда вызовы функции самой себя потеряли?
def fork(root):
if root is None:
return 0
else:
fork(root.left) # <<<<
if root.left and root.right:
print(root.data)
fork(root.right) # <<<<