当前位置:网站首页>Binary tree creation & traversal
Binary tree creation & traversal
2022-07-06 07:46:00 【Wang jijiya】
Hierarchy creation
Reference resources :Python --- Sequence establishment of binary tree
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = None
self.right = None
def creatTree(nodeList):
if nodeList[0] == None: return None
head = TreeNode(nodeList[0])
nodes = [head] # Used to store nodes in the tree , Every time a node is generated, it is placed in the list , Save the root node here .
j = 1 # Create variables j be used for nodeList The index of the element in the , For the initial 1. Because the first 0 Elements have created root nodes .
for node in nodes: # Take out one by one Nodes Nodes in the list , Create a left child node and a right child node
if node != None:
node.left = (TreeNode(nodeList[j])) if nodeList[j] != None else None
nodes.append(node.left) # Add the new node Nodes Array , Make it for In the loop, you can continue to add child nodes
j += 1
if j == len(nodeList): # If the nodeList Equal values indicate that all nodes have been added , Go straight back to head The root node completes the establishment of the tree
return head
node.right = (TreeNode(nodeList[j])) if nodeList[j] != None else None
j += 1
nodes.append(node.right)
if j == len(nodeList):
return head
a = [1,2,3,4,None,6,7]
a = creatTree(a)
# Use : Return the longest path of binary tree ,Leecode 124
class Solution:
def __init__(self):
self.maxSum = float("-inf")
def maxPathSum(self, root: TreeNode) -> int:
def maxGain(node):
if not node:
return 0
leftGain = max(maxGain(node.left), 0)
rightGain = max(maxGain(node.right), 0)
priceNewpath = node.val + leftGain + rightGain
self.maxSum = max(self.maxSum, priceNewpath)
return node.val + max(leftGain, rightGain)
maxGain(root)
return self.maxSum
s = Solution()
s.maxPathSum(a)Continue......
边栏推荐
- Word delete the contents in brackets
- MES, APS and ERP are essential to realize fine production
- Rust language - receive command line parameter instances
- TS 类型体操 之 循环中的键值判断,as 关键字使用
- 2022年Instagram运营小技巧简单讲解
- 烧录场景下的源代码防泄密方案分享
- The way to learn go (I) the basic introduction of go to the first HelloWorld
- 49. Sound card driven article collection
- TypeScript接口与泛型的使用
- Typescript void base type
猜你喜欢

Google可能在春节后回归中国市场。
![[cf gym101196-i] waif until dark network maximum flow](/img/66/6b339fc23146b5fbdcd2a1fa0a2349.png)
[cf gym101196-i] waif until dark network maximum flow

Mise en œuvre du langage leecode - C - 15. Somme des trois chiffres - - - - - idées à améliorer

解决方案:智慧工地智能巡检方案视频监控系统

继电反馈PID控制器参数自整定

The way to learn go (I) the basic introduction of go to the first HelloWorld

Key value judgment in the cycle of TS type gymnastics, as keyword use

Codeforces Global Round 19(A~D)

. Net 6 learning notes: what is NET Core

Document 2 Feb 12 16:54
随机推荐
Solution: système de surveillance vidéo intelligent de patrouille sur le chantier
How to delete all the words before or after a symbol in word
Notes on software development
Select all the lines with a symbol in word and change them to titles
[count] [combined number] value series
In the era of digital economy, how to ensure security?
Bugku CTF daily question: do you want seeds? Blackmailed
Apache middleware vulnerability recurrence
Full Score composition generator: living on code
After the hot update of uniapp, "mismatched versions may cause application exceptions" causes and Solutions
JMeter performance test steps practical tutorial
. Net 6 learning notes: what is NET Core
Solution: intelligent site intelligent inspection scheme video monitoring system
[1. Delphi foundation] 1 Introduction to Delphi Programming
Get the path of edge browser
Hackathon ifm
How to estimate the number of threads
[MySQL learning notes 32] mvcc
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Summary of Digital IC design written examination questions (I)