Get the App
SLTechnology News&Howtos  ›  Development  › 

How to associate each node with its right neighbor in the python binary tree

Shulou Source: shulou.com Published: 2022-06-02 06:54:50 09月16日 Update

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!

Tags: Nodes pointers queues associations content that is methods more problems at a loss for this code reason right at the same time ideas skills articles experience Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MariaDB Docker Redmi macOS Shulou Technology