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

公司网站手机版设计wordpress 比特币

公司网站手机版设计,wordpress 比特币,接入商网站备案,文化创意有限公司二叉搜索树的最小绝对差 题目连接 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路: 利用二叉搜索树的中序遍历的特性,将二叉树转成有序数组,进而求任意两个数的最小绝对差。 代码 /*** Definition for a bina…

二叉搜索树的最小绝对差

题目连接

https://leetcode.cn/problems/minimum-absolute-difference-in-bst/

思路:

利用二叉搜索树的中序遍历的特性,将二叉树转成有序数组,进而求任意两个数的最小绝对差。

代码

/*** 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 ArrayList<Integer> list = new ArrayList<>();public void f(TreeNode root) {if (root == null) {return;}f(root.left);list.add(root.val);f(root.right);}public int getMinimumDifference(TreeNode root) {f(root);int res = Integer.MAX_VALUE;for (int i = 0,j=1; i < list.size()&&j< list.size() ; i++,j++) {if(list.get(j)-list.get(i)<res){res=list.get(j)-list.get(i);}}return res;}
}

二叉搜索树中的众数

题目链接

https://leetcode.cn/problems/find-mode-in-binary-search-tree/description/

思路

利用遍历和map将所有的节点及其频率保存起来,最后将频率最高的放入数组、

代码

/*** 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 HashMap<Integer, Integer> map = new HashMap<>();public void f(TreeNode root) {if (root == null) {return;}f(root.left);map.put(root.val, map.getOrDefault(root.val, 0) + 1);f(root.right);}public int[] findMode(TreeNode root) {f(root);int max = -1;for (Integer integer : map.keySet()) {if (map.get(integer) > -1) {max=Math.max(max,map.get(integer));}}ArrayList<Integer> list = new ArrayList<>();for (Integer integer : map.keySet()) {if (map.get(integer) == max) {list.add(integer);}}int[] ans = new int[list.size()];for (int i = 0; i < list.size(); i++) {ans[i] = list.get(i);}return ans;}
}

二叉树的最近公共祖先

题目链接

https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/

思路

利用二叉树的后续遍历实现对二叉树的自下而上的查找
首先最容易想到的一个情况:如果找到一个节点,发现左子树出现结点p,右子树出现节点q,或者 左子树出现结点q,右子树出现节点p,那么该节点就是节点p和q的最近公共祖先。 即情况一:

请添加图片描述

判断逻辑是 如果递归遍历遇到q,就将q返回,遇到p 就将p返回,那么如果 左右子树的返回值都不为空,说明此时的中节点,一定是q 和p 的最近祖先。

情况二:

请添加图片描述

其实情况一 和 情况二 代码实现过程都是一样的,也可以说,实现情况一的逻辑,顺便包含了情况二。

因为遇到 q 或者 p 就返回,这样也包含了 q 或者 p 本身就是 公共祖先的情况。

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root==null){return null;}if(root==p||root==q){return root;}TreeNode left=lowestCommonAncestor(root.left,p,q);TreeNode right=lowestCommonAncestor(root.right,p,q);if(left!=null&&right!=null){return root;}if(left==null&&right!=null){return right;}if(left!=null&&right==null){return left;}return null;}
}
http://www.yayakq.cn/news/372186/

相关文章:

  • 手机端h5网站模板下载松江网站开发公司
  • 上海海宏建设集团网站做网站市场分析
  • 浙江省建设厅网站 学时wordpress线报主题
  • 常州语言网站建设wordpress文章末尾插件
  • ps做网站一般用多大字体做影视网站被告怎么办
  • 山东省建设厅网站维护电话企业公司
  • 江安县建设招标网站wordpress标签函数
  • 做运营需要知道素材网站wordpress 模拟post
  • 彩票网站建设服务文化建设成就
  • 潍坊方圆网站建设巢湖seo推广选哪家
  • 连云港网站开发wordpress文章主图
  • 网站建设银行电商网站建设的内容
  • 番禺外贸型网站建设wap视频网站建设难吗?
  • 网站开发就业岗位山东东营市东营区邮编
  • seo网站是什么意思汕头市企业网站建设服务机构
  • 哪里可以买链接网站the author wordpress
  • 备案需要网站吗发果怎么做视频网站
  • iis如何建立网站采集网站如何做
  • 网站底部模板源码editplus网站开发
  • 法治建设网站作用seo项目培训
  • 泉州网站制作案例网站热点关键词
  • 合肥做网站的网络公司商丘企业网站建设费用多少钱
  • 怎么能查到网站是哪个公司做的网站建设的电销
  • 建站 赚钱做房地产信息网怎么做
  • 深圳营销型定制网站开发1000网站开发公司 logo
  • zen cart 网站google plus自己做的网站别人怎么访问
  • 企业网站软件下载做婚恋网站代理商挣钱吗
  • 美食网站建设的时间进度表短视频平台开发
  • 网站开发公司广告文案电子产品代加工怎么找货源
  • 做seo推广网站网站开发市场调查