当前位置: 首页 > news >正文

网站建设好做吗网站开发编程环境

网站建设好做吗,网站开发编程环境,做淘客网站能干嘛,如何用ps制作一个网页[ 题目描述 ]: [ 思路 ]: 递归构建,前序遍历是 [ 根节点,左孩子节点,右孩子节点 ],中序遍历是 [ 左孩子节点,根节点,右孩子节点]根据这一特性,可以知道,前序…

[ 题目描述 ]:
在这里插入图片描述
[ 思路 ]:

  • 递归构建,前序遍历是 [ 根节点,左孩子节点,右孩子节点 ],中序遍历是 [ 左孩子节点,根节点,右孩子节点]
  • 根据这一特性,可以知道,前序遍历中前面的节点是后面节点的,父亲或祖宗
  • 中序遍历中某个节点左边是他的左孩子们,右边是他的右孩子们
  • 由此我们对前序遍历的第一个节点开始构建,他一定是父节点,再将他在中序遍历中左边的节点和右边的节点划分出来,用于构建他的左右孩子
  • 以构建左孩子为例,求出左边孩子的个数n,由于前序遍历是 根左右 ,也就是说这些孩子一定在前序遍历的前 n+1个节点(第一个节点是父节点),将这 n 个前序遍历的节点和中序遍历的节点顺序列表进行新一轮递归
  • 运行如下
    在这里插入图片描述
# python代码
class Solution(object):def buildTree(self, preorder, inorder):""":type preorder: List[int]:type inorder: List[int]:rtype: Optional[TreeNode]"""if not preorder or not inorder:return Noneroot=TreeNode(preorder[0])val_index=inorder.index(preorder[0])left_inorder=inorder[0:val_index]right_inorder=inorder[val_index+1:]left_preoder=preorder[1:1+len(left_inorder)]right_preoder=preorder[1+len(left_inorder):]root.left=self.buildTree(left_preoder,left_inorder)root.right=self.buildTree(right_preoder,right_inorder)return root

[ 官方题解 ]:

  • 方法一:递归,基本同上
  • 方法二:迭代,依次枚举前序遍历中除了第一个节点以外的每个节点。如果 index 恰好指向栈顶节点,那么不断地弹出栈顶节点并向右移动 index,并将当前节点作为最后一个弹出的节点的右儿子;如果 index 和栈顶节点不同,则将当前节点作为栈顶节点的左儿子;
    • 无论是哪一种情况,最后都将当前的节点入栈。
class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:if not preorder:return Noneroot = TreeNode(preorder[0])stack = [root]inorderIndex = 0for i in range(1, len(preorder)):preorderVal = preorder[i]node = stack[-1]if node.val != inorder[inorderIndex]:node.left = TreeNode(preorderVal)stack.append(node.left)else:while stack and stack[-1].val == inorder[inorderIndex]:node = stack.pop()inorderIndex += 1node.right = TreeNode(preorderVal)stack.append(node.right)return root
http://www.dtcms.com/a/444935.html

相关文章:

  • 河北网站建设搭建四川省住房与建设厅网站
  • 免费ppt网站 不要收费的哪个网站名片做的号
  • 建设大型购物网站小程序直播
  • 网站建设行业前景php网站开发实例项目
  • php网站开发实用技术建设摩托车报价及图片
  • 免费网站优化软件电子商务网站建设的要素
  • 医院建设网站的作用wordpress 编辑器
  • iis6 静态网站移动端网站咋做
  • 叮当网站做app网站建设还流行吗
  • 义乌网站公司免费空间建网站
  • 建设网站注意什么简易个人网页模板
  • 网站合同书专业网站建站费用
  • 广西网站建设培训长沙企业网站建设分公司
  • 福州网站建设企业哪家好?域名买卖网站
  • 做品牌文化的网站网站建设费用应该入什么科目
  • 建html5响应式网站的工具方维网络的服务范围
  • 重庆市做网站的公司有哪些h5应用
  • 佛山市网站建设 乾图信息科技中国商标网官方查询网站
  • 2018年做淘宝客网站还能挣钱吗网站建设实验
  • 益阳网站建设公司2wordpress
  • 专业建设网站应该怎么做什么是网站微商城的建设
  • 深圳网站建设团队罗湖区网站建设
  • 白云微网站建设怎么在wordpress上添加视频
  • 淘宝客网站怎么做seovi设计用什么软件做
  • 外链推广网站都有哪些牡丹江网站seo
  • 门户网站维护网站建设公司如何签单
  • 南昌网站空间wordpress theme 插件
  • 做网站的困难高端网站建设公司新鸿儒
  • 哪个网站做漫画可以有钱海口seo推广公司
  • 做个企业网站 优帮云如何给wordpress配置ssl证书