当前位置: 首页> 文旅> 旅游 > 网站建设视频教程推荐_广西建设网网上办事大厅个人版_北京网站设计公司_长沙网站优化培训

网站建设视频教程推荐_广西建设网网上办事大厅个人版_北京网站设计公司_长沙网站优化培训

时间:2025/7/10 7:47:31来源:https://blog.csdn.net/ujn20161222/article/details/142907973 浏览次数:0次
网站建设视频教程推荐_广西建设网网上办事大厅个人版_北京网站设计公司_长沙网站优化培训

314. Binary Tree Vertical Order Traversal

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column).

If two nodes are in the same row and column, the order should be from left to right.

Example 1:

Input: root = [3,9,20,null,null,15,7]
Output: [[9],[3,15],[20],[7]]

Example 2:

Input: root = [3,9,8,4,0,1,7]
Output: [[4],[9],[3,0,1],[8],[7]]

Example 3:

Input: root = [1,2,3,4,10,9,11,null,5,null,null,null,null,null,null,null,6]
Output: [[4],[2,5],[1,10,9,6],[3],[11]]

Constraints:

  • The number of nodes in the tree is in the range [0, 100].
  • -100 <= Node.val <= 100
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def verticalOrder(self, root):""":type root: TreeNode:rtype: List[List[int]]"""if not root:return []queue=deque()column2node=defaultdict(list)queue.append((root,0))while queue:node,col=queue.popleft()column2node[col].append(node.val)if node.left:queue.append((node.left,col-1))if node.right:queue.append((node.right,col+1))ans=[]for i in sorted(column2node.keys()):ans.append(column2node[i])return ans

每次处理当前node 

关键字:网站建设视频教程推荐_广西建设网网上办事大厅个人版_北京网站设计公司_长沙网站优化培训

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: