• [技术干货] 二叉树的层序遍历
    二叉树的层序遍历题目给你一个二叉树,请你返回其按 层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7],    3   / \  9  20    /  \   15   7返回其层序遍历结果:[  [3],  [9,20],  [15,7]]题解思路1>源代码# Definition for a binary tree node.# class TreeNode:#     def __init__(self, val=0, left=None, right=None):#         self.val = val#         self.left = left#         self.right = rightclass Solution:    def levelOrder(self, root: TreeNode) -> List[List[int]]:        queue = []        ans = []        if root == None:            return ans        queue.append(root)        while queue:            temp_len = len(queue)            temp_ans = []            for i in range(temp_len):                temp_node = queue.pop(0)                temp_ans.append(temp_node.val)                if temp_node.left != None:                    queue.append(temp_node.left)                if temp_node.right != None:                    queue.append(temp_node.right)            ans.append(temp_ans)        return ans2>算法介绍好像在剑指offer系列中做过类似的题,不过当时是用java写的,这里我们还是用python再写一遍吧!二叉树的层序遍历算法很明显要用到队列这个数据结构作为辅助,而本题要求我们分行输出,那么我们就采用一个临时变量temp_len来记录当前队列的长度,这样就可以达到分行的目的了。
  • [技术干货] 2021-02-26:一个数组arr是二叉树的中序遍历结果,每条边的开销是父节点和子节点的乘积,总开销是所有边的开销之和。请问最
    2021-02-26:一个数组arr是二叉树的中序遍历结果,每条边的开销是父节点和子节点的乘积,总开销是所有边的开销之和。请问最小总开销是多少?
  • [技术干货] 2020-08-30:裸写算法:二叉树两个节点的最近公共祖先。
    2020-08-30:裸写算法:二叉树两个节点的最近公共祖先。
总条数:20 到第
上滑加载中