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

国内建站平台排名贴吧引流推广

国内建站平台排名,贴吧引流推广,四川省建设厅官方网站三内人员,网站建设具备哪些技术人员平衡二叉树题目如下: 平衡二叉树的定义是左右子树的高度差不能大于1。看到这种类型的题,一般会想到用递归的方法来做,一旦用递归,就需要明确递归的三部曲。(1)递归函数的输入和返回值:输入-当前…

平衡二叉树题目如下:

平衡二叉树的定义是左右子树的高度差不能大于1。看到这种类型的题,一般会想到用递归的方法来做,一旦用递归,就需要明确递归的三部曲。(1)递归函数的输入和返回值:输入-当前节点作为根节点,返回值肯定是高度;(2)递归终止条件:对于二叉树来说,一般递归的终止条件都是当前节点为空,返回0;(3)单层递归的逻辑:需要判断左右子树的高度差,如果已经大于1,说明不是平衡二叉树,直接返回-1;这样的话,还需要在得到左右子树的高度时,顺便判断一下之前的左右子树是否已经返回了-1,说明之前的子树已经不是平衡二叉树了,所以也就不需要后续的递归了,可以直接返回-1.代码如下:

class Solution {public boolean isBalanced(TreeNode root) {//使用递归法求根节点的左右子树的高度差//1.确定递归函数的输入和返回值:输入-将当前结点作为根节点,返回高度return getHeight(root) != -1;}public int getHeight(TreeNode root){//2.递归终止条件if(root == null) return 0;int leftHeight = getHeight(root.left);if(leftHeight == -1){return -1;//说明左子树里面早就不是平衡二叉树了}int rightHeight = getHeight(root.right);if(rightHeight == -1){return -1;//说明右子树里面早就不是平衡二叉树了}if(Math.abs(leftHeight-rightHeight)>1){return -1;//说明左右子树高度差大于1,不是平衡二叉树} return Math.max(leftHeight, rightHeight)+1;}
}

二叉树的所有路径题目如下:

思路:这里需要对二叉树进行遍历,前序遍历是最合适的,因为他能指向它的左右孩子。递归与回溯是相伴相生的,递归遍历的过程中,一旦遇到叶子结点,就要回溯,不然无法回到其他路径分叉点。在这里,递归的终止条件就不像之前那样遇到空节点返回0,这里是遇到叶子节点后对其进行处理(收获结果的过程)

class Solution {public List<String> binaryTreePaths(TreeNode root) {//存放最终结果字符串List<String> result = new ArrayList<>();if(root == null) return result;//存放结果中的路径,因为要回溯,所以是Integer类型List<Integer> paths = new ArrayList<>();//遍历树traversal(root, paths, result);return result;}public void traversal(TreeNode root, List<Integer> paths, List<String> result){//首先将根结点/中结点加进路径paths.add(root.val);//递归函数终止条件:当遇到叶子结点if(root.left == null && root.right == null){//定义一个容器进行结果处理StringBuffer sb = new StringBuffer();// StringBuilder用来拼接字符串,速度更快for(int i =0; i < paths.size()-1; i++){sb.append(paths.get(i)).append("->");}//加上叶子节点sb.append(paths.get(paths.size()-1));//将整个路径放入结果集中result.add(sb.toString());//注意要使用toString进行转换return;}//递归+回溯,两者相伴而生//递归和回溯是同时进行,所以要放在同一个花括号里if(root.left != null){traversal(root.left, paths, result);//回溯,返回节点的上一层paths.remove(paths.size()-1);}if(root.right != null){traversal(root.right, paths, result);//回溯,返回节点的上一层paths.remove(paths.size()-1);}}
}

http://www.dtcms.com/wzjs/157382.html

相关文章:

  • discuz可以做商城网站吗网络营销有几种方式
  • 用手机做电影网站小时seo
  • 建设个人网站百度推广怎么操作
  • 丽水北京网站建设政府免费培训 面点班
  • 临沂网站建设培训好的在线crm系统
  • 那个网站有题做aso排名优化
  • 问题反馈的网站怎么做知乎关键词排名工具
  • wordpress原生appseo建站网络公司
  • 商城网站方案石家庄全网seo
  • 如何设置网站关键字百度搜索关键词优化方法
  • 承德网站制作发布软文平台
  • 网站建设qq群外贸网站seo教程
  • 做网站能不能放暴露图片武汉seo广告推广
  • 100个免费b站推广网站交换友情链接的意义是什么
  • 江苏做网站的公司糕点烘焙专业培训学校
  • 做爰网站爱情岛企业网站的类型
  • php网站开发第三章重庆seo教程
  • 盐城经济技术开发区建设局网站网站流量查询工具
  • 南宁做网站建设百度地图关键词优化
  • 无锡建设市场网站免费的舆情网站入口在哪
  • 福州做网站fjfzwl最新国际新闻 大事件
  • 个人服务器 网站建设百度竞价托管费用
  • 北京建筑信息网seo全网营销的方式
  • 建设教育局官方网站android优化大师
  • 网站架构图一般包括什么链接下载
  • 山东济南网站建设外链交易平台
  • 邢台专业做网站价格深圳seo论坛
  • 深圳好的网站建设公司哪家好搜索引擎推广有哪些平台
  • 什么专业是做网站实时热搜
  • 中国万网建站平台长沙有实力seo优化