How to associate each node with its right neighbor in the python binary tree
It is believed that many inexperienced people are at a loss about how to associate each node with its right neighbor in the python binary tree. Therefore, this paper summarizes the causes and solutions of the problem. Through this article, I hope you can solve this problem.
If described in C, a binary tree node definition includes a right node pointer, a left node pointer, and a right connected pointer; give a binary tree to maintain its right adjacent pointer, and if it is the rightmost node, the pointer is null.
Struct Node {
Int val
Node * left
Node * right
Node * next
}
The idea is actually very simple, this can analyze the binary tree by layer, first put the current layer node into a queue from left to right, traverse the queue; if it is not the last node in the queue, then according to the next of the current node is the next node; at the same time, put the child nodes of each node into the next layer queue from left to right; then traverse the next layer queue until the queue is empty.
The code is as follows:
"" # Definition for a Node.class Node: def _ init__ (self, val: int = 0, left: 'Node' = None, right:' Node' = None, next: 'Node' = None): self.val = val self.left = left self.right = right self.next = next "" class Solution: def connect (self Root: 'Node')->' Node': if root = = None: return None else: nodeList = [] nodeList.append (root) while nodeList! = []: nextList = [] for i in range (len (nodeList)): if nodeList [I] .left! = None: nextList.append (nodeList [I] .left) if nodeList [I] .right! = None: nextList.append (nodeList [I] .right) if iTunes = len (nodeList)-1: nodeList [I] .next = nodeList [iTun1] NodeList = nextList return root after reading the above content Have you learned how to associate each node with its right neighbor in the python binary tree? If you want to learn more skills or want to know more about it, you are welcome to follow the industry information channel, thank you for reading!