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

网站开发python小米发布会完整版

网站开发python,小米发布会完整版,c2c的含义分别是什么,免费网站建设社区文章目录 51 验证二叉搜索树52 二叉搜索树中第k小的元素53 二叉树的右视图54 二叉树展开为链表55 从前序与中序遍历序列构造二叉树 51 验证二叉搜索树 递归对二叉搜索树进行中序遍历#xff0c;输出节点的值是单调递增的。方法1#xff1a;对二叉树进行中序遍历#xff0c;将… 文章目录 51 验证二叉搜索树52 二叉搜索树中第k小的元素53 二叉树的右视图54 二叉树展开为链表55 从前序与中序遍历序列构造二叉树 51 验证二叉搜索树 递归对二叉搜索树进行中序遍历输出节点的值是单调递增的。方法1对二叉树进行中序遍历将节点的值放入数组中判断数组是否单调递增双指针。方法2maxval记录前一个节点的数值初始化为一个绩效的值。方法3新建节点prepre指向前一个结点初始化为null。这里给出方法3的代码。 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {TreeNode} root* return {boolean}*/ var isValidBST function(root) {let pre new TreeNode();pre null;var isValid function(root) {if(root null){ // 空树也是二叉搜索树return true;}let left isValid(root.left);if(pre ! null pre.val root.val){return false;}pre root;let right isValid(root.right);return left right;}return isValid(root); };52 二叉搜索树中第k小的元素 递归求中序遍历的第k个节点。对二叉搜索树进行中序遍历遍历到第k个节点时记录结果res记录结果后返回。 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {TreeNode} root* param {number} k* return {number}*/ var kthSmallest function(root, k) {var traversal function(root){if(root null){return;}traversal(root.left);if(k 0){return;}if(--k 0){res root.val;}traversal(root.right);}let res 0;traversal(root);return res; };53 二叉树的右视图 递归先递归右子树再递归左子树。每层设置一个深度deep遍历过程中若该节点对应层的deep首次访问则将该节点存入右视图结果数组中。 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {TreeNode} root* return {number[]}*/ var rightSideView function(root) {var traversal function(root, deep){if(root null){return;}if(deep res.length){res.push(root.val);}traversal(root.right, deep 1);traversal(root.left, deep 1);}let deep 0;let res [];traversal(root, deep);return res; };54 二叉树展开为链表 递归使用倒中序遍历即右 - 左 - 中遍历结果654321中的第一个节点就是链表的最后一个节点6。新建pre作为前一个结点初始化为null随着倒中序遍历不断为其赋值为前一个结点。除了最后一个节点的左节点不为null外其他节点的左节点都为null右节点都为pre。 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {TreeNode} root* return {void} Do not return anything, modify root in-place instead.*/ var flatten function(root) {var traversal function(root){if(root null){return;}traversal(root.right);traversal(root.left);if(pre ! null){root.right pre;root.left null;}pre root;}let pre new TreeNode();pre null;traversal(root);return root; };55 从前序与中序遍历序列构造二叉树 递归前序数组的第一个元素为节点元素在中序数组中寻找该元素作为分割点index分割出左中序数组和右中序数组。index可以理解为在中序数组中索引为index的位置前有index个元素而左前序数组和左中序数组的length应该相等右同理因此可以借助index分割前序数组。根据index分割前序数组得到左前序数组和右前序数组。叶子节点直接返回该节点不必将左、右节点设置为null。将左前序数组和右中序遍历继续遍历右前序数组和右中序数组继续遍历。 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {number[]} preorder* param {number[]} inorder* return {TreeNode}*/ var buildTree function(preorder, inorder) {var traversal function(preorder, inorder){if(preorder.length 0){return null;}let nodevalue preorder[0];let node new TreeNode(nodevalue);if(preorder.length 1){ // 叶子节点直接返回return node;}let index inorder.findIndex(item item node.val);let inleft inorder.slice(0, index);let inright inorder.slice(index 1, inorder.length);let preleft preorder.slice(1, 1 index);let preright preorder.slice(1 index, preorder.length);node.left buildTree(preleft, inleft);node.right buildTree(preright, inright);return node; }return traversal(preorder, inorder); };
http://www.yingshimen.cn/news/24842/

相关文章:

  • 做网站植入广告赚钱小程序定制公司排行十名
  • 谷歌做自己的网站wordpress创建数据库文件
  • 坪地网站建设如何制作网站源码
  • 管理咨询行业的理解河北seo人员
  • 建设门户网站的可行性分析做网站的图片需要多少钱
  • 企业建站公司平台收费网站开发
  • 网站找谁备案每平每屋设计家官网
  • 厦门掘金网站建设个体户 网站建设
  • 360网站提交入口地址wordpress newsletter 插件
  • 上海营销型网站广告模板图片
  • wordpress新站5天收录wordpress登陆失败
  • 万州做网站多少钱建设一个购物网站需要什么意思
  • 全面的网站制作wordpress 前台刷新
  • e盘网站建设旅行社网站建设策划书
  • 犀牛网站建设公司如何把做的网站放到百度上
  • 做网站完整过程三亚网站优化
  • 石家庄网站关键词推广广告软文外链平台
  • 企业网站的建设原则是什么?百度提问在线回答问题
  • 石家庄网站建设工作室wordpress 最新教程视频
  • 深圳做棋牌网站建设哪家服务好兼职工厂网站建设
  • 网站宣传的劣势山西钢建公司简介
  • 我想做个网站怎么弄wordpress内网响应慢
  • 深圳网站设计三把火rails 网站开发
  • 温州建站费用自己做网站可行吗
  • 西安高端网站制作百度推广开户流程
  • 南昌汉邦网站建设如何做网站图片切换
  • 常州新北区建设局网站源码出售平台
  • 怎么快速提高网站权重新开网站做内贸业务员好做
  • 建设银行网站服务功能链接搜索引擎
  • 网站布局优化开发网站建设设计公司