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

网站需要多大宽带phpstudy2016快速搭建网站

网站需要多大宽带,phpstudy2016快速搭建网站,公司怎么做网页,ps上做网站【LetMeFly】105.从前序与中序遍历序列构造二叉树#xff1a;分治#xff08;递归#xff09;——五彩斑斓的题解#xff08;若不是彩色的可以点击原文链接查看#xff09; 力扣题目链接#xff1a;https://leetcode.cn/problems/construct-binary-tree-from-preorder-a…【LetMeFly】105.从前序与中序遍历序列构造二叉树分治递归——五彩斑斓的题解若不是彩色的可以点击原文链接查看 力扣题目链接https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 给定两个整数数组 preorder 和 inorder 其中 preorder 是二叉树的先序遍历 inorder 是同一棵树的中序遍历请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7]示例 2: 输入: preorder [-1], inorder [-1] 输出: [-1]提示: 1 preorder.length 3000inorder.length preorder.length-3000 preorder[i], inorder[i] 3000preorder 和 inorder 均 无重复 元素inorder 均出现在 preorderpreorder 保证 为二叉树的前序遍历序列inorder 保证 为二叉树的中序遍历序列 方法一分治递归 前序遍历根 左子树 右子树中序遍历左子树 根 右子树 写一个函数dfs接收前序遍历数组和中序遍历数组作为参数 根据前序遍历数组的第一个元素为根节点建立节点找到根节点在中序遍历数组中的位置 以此可得到左子树和右子树的长度信息 以此可确定左子树和右子树在两个数组中的位置 递归建立左子树和右子树 递归的终止条件为“前序遍历数组为空”此时返回空节点。 Tips: 可以在预处理时建立一个哈希表以便能快速地找到根节点在中序遍历数组中的位置。 时间复杂度 O ( N ) O(N) O(N)其中 N N N是节点个数空间复杂度 O ( N ) O(N) O(N) AC代码 C class Solution { private:unordered_mapint, vectorint::iterator ma;TreeNode* dfs(vectorint::iterator preLeft, vectorint::iterator preRight, vectorint::iterator inLeft, vectorint::iterator inRight) {if (preRight preLeft) {return nullptr;}TreeNode* thisNode new TreeNode(*preLeft);vectorint::iterator loc ma[*preLeft];int leftLength loc - inLeft;thisNode-left dfs(preLeft 1, preLeft leftLength 1, inLeft, loc);thisNode-right dfs(preLeft leftLength 1, preRight, loc 1, inRight);return thisNode;}public:TreeNode* buildTree(vectorint preorder, vectorint inorder) {for (vectorint::iterator it inorder.begin(); it ! inorder.end(); it) {ma[*it] it;}return dfs(preorder.begin(), preorder.end(), inorder.begin(), inorder.end());} };Python from typing import List, Optional# Definition for a binary tree node. class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution: # AC,98.61%,91.88%def dfs(self, preLeft: int, preRight: int, inLeft: int, inRight: int) - Optional[TreeNode]:if preRight preLeft:return NonethisNode TreeNode(self.preorder[preLeft])loc self.ma[self.preorder[preLeft]]leftLength loc - inLeftthisNode.left self.dfs(preLeft 1, preLeft leftLength 1, inLeft, loc - 1)thisNode.right self.dfs(preLeft leftLength 1, preRight, loc 1, inRight)return thisNodedef buildTree(self, preorder: List[int], inorder: List[int]) - TreeNode:self.preorder preorderself.inorder inorderself.ma dict()for i in range(len(inorder)):self.ma[inorder[i]] ireturn self.dfs(0, len(preorder), 0, len(inorder))同步发文于CSDN原创不易转载经作者同意后请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/136186356
http://www.pierceye.com/news/719078/

相关文章:

  • 短链生成网站html模板免费十个网页
  • 图跃企业网站建设seo提供服务
  • 厦门市建设管理协会网站发帖效果好的网站
  • 手机商城网站制作网页设计与制作的岗位职责
  • 教学网站系统流程图wordpress激活主题
  • 北京房地产网站建设做app还是做微网站好
  • 网站建设的整个流程管理咨询公司网站
  • 长沙网站建设有限公司怎么做网站赚大钱
  • 找做网站页的在哪找沭阳建设局网站
  • 私人做网站有什么用不断加强门户网站建设
  • WordPress简单百度站长插件使用cms建设网站安全吗
  • 响水做网站价格余江网站建设
  • 好的免费个人网站网站建设所需要的材料
  • 南宁本地网站有哪些建筑工程网络组网
  • 如何构建一个网站wordpress更换ssl
  • 做电影网站需要注意什么安徽易企建站
  • 莆田网站格在哪里做网站数据维护
  • 建设的网站别人登录密码做个企业网站多少钱
  • 邢台网站推广怎么做好网站推理
  • 网站项目需求盐城网站开发基本流程
  • 桐乡市城乡规划建设局网站网站企业备案和个人备案的区别
  • 公职人员可以做公益网站吗dw做的网站怎么放到服务器上
  • wordpress 导航网站模板wordpress建立企业网站
  • 厦门网站建设哪里好青岛做网站电话
  • 中国做网站正邦自己建站模板
  • 网站设计公司如何盈利安阳做网站多少钱
  • 简述网站开发的主要阶段邢台短视频推广
  • 黑彩网站充值就给你做单子青岛高品质网站建设
  • 网站建设是固定资产还是列费用矿泉水瓶50种手工制作
  • 兰州 网站建设凡客优品家居