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

江苏省电力建设质量监督中心站网站最新营销模式

江苏省电力建设质量监督中心站网站,最新营销模式,b2c的网址有哪些,天律网站建设提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣654. 最大二叉树二、力扣617. 合并二叉树三、力扣700. 二叉搜索树中的搜索四、力扣98. 验证二叉搜索树 前言 一、力扣654. 最大二叉树 /*** Definitio…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣654. 最大二叉树
  • 二、力扣617. 合并二叉树
  • 三、力扣700. 二叉搜索树中的搜索
  • 四、力扣98. 验证二叉搜索树


前言


一、力扣654. 最大二叉树

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode constructMaximumBinaryTree(int[] nums) {return fun(nums, 0, nums.length-1);}public TreeNode fun(int[] nums, int strat, int end){if(strat > end)return null;int index = indexFun(nums, strat, end);TreeNode cur = new TreeNode(nums[index]);int leftStart = strat, leftEnd = index-1;int rightStart = index+1, rightEnd = end;TreeNode leftChild = fun(nums, leftStart, leftEnd);TreeNode rightChild = fun(nums, rightStart, rightEnd);cur.left = leftChild;cur.right = rightChild;return cur;}public int indexFun(int[] nums, int low, int high){int max = nums[low];int index = low;for(int i = low; i <= high; i ++){if(nums[i] > max){max = nums[i];index = i;}}return index;}
}

二、力扣617. 合并二叉树

新建的树

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1 == null && root2 == null){return null;}TreeNode cur = new TreeNode();TreeNode childLeft = null;TreeNode childRight = null;if(root1 != null && root2 != null){cur.val = root1.val + root2.val;childLeft = mergeTrees(root1.left, root2.left);childRight = mergeTrees(root1.right, root2.right);}if(root1 != null && root2 == null){cur.val = root1.val;childLeft = mergeTrees(root1.left, null);childRight = mergeTrees(root1.right, null);}if(root1 == null && root2 != null){cur.val = root2.val;childLeft = mergeTrees(null, root2.left);childRight = mergeTrees(null, root2.right);}cur.left = childLeft;cur.right = childRight;return cur;}
}

在原本的树上更新

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if(root1 == null)return root2;if(root2 == null)return root1;root1.val += root2.val;root1.left = mergeTrees(root1.left, root2.left);root1.right = mergeTrees(root1.right, root2.right);return root1;}
}

迭代

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {Deque<TreeNode> deq = new LinkedList<>();if(root1 == null)return root2;if(root2 == null)return root1;deq.offerLast(root1);deq.offerLast(root2);while(!deq.isEmpty()){TreeNode p1 = deq.pollFirst();TreeNode p2 = deq.pollFirst();p1.val = p1.val + p2.val;if(p1.left != null && p2.left != null){deq.offerLast(p1.left);deq.offerLast(p2.left);}if(p1.right != null && p2.right != null){deq.offerLast(p1.right);deq.offerLast(p2.right);}if(p1.left == null && p2.left != null){p1.left = p2.left;}if(p1.right == null && p2.right != null){p1.right = p2.right;}}return root1;}
}

三、力扣700. 二叉搜索树中的搜索

递归

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode searchBST(TreeNode root, int val) {if(root == null)return null;if(root.val < val){return searchBST(root.right, val);}if(root.val > val){return searchBST(root.left, val);}return root;}
}

迭代

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode searchBST(TreeNode root, int val) {Deque<TreeNode> deq = new LinkedList<>();deq.offerLast(root);while(!deq.isEmpty()){TreeNode p = deq.pollFirst();if(p == null)return null;if(p.val == val)return p;if(p.val > val){deq.offerLast(p.left);}if(p.val < val){deq.offerLast(p.right);}}return null;}
}

四、力扣98. 验证二叉搜索树

递归

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<Integer> path = new ArrayList<>();public boolean isValidBST(TreeNode root) {inOrder(root);for(int i = 0; i < path.size()-1; i ++){if(path.get(i) >= path.get(i+1)){return false;}}return true;}public void inOrder(TreeNode root){if(root == null){return;}inOrder(root.left);path.add(root.val);inOrder(root.right);}
}

迭代

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<Integer> path = new ArrayList<>();public boolean isValidBST(TreeNode root) {Deque<TreeNode> deq = new LinkedList<>();TreeNode p  = root;while(!deq.isEmpty() || p != null){if(p != null){deq.offerLast(p);p = p.left;}else{p = deq.pollLast();path.add(p.val);p = p.right;}}for(int i = 0; i < path.size()-1; i ++){if(path.get(i) >= path.get(i+1)){return false;}}return true;}
}
http://www.hkea.cn/news/756510/

相关文章:

  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站
  • 软件开发和网站建设网络营销的未来6个发展趋势