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

北京营销网站建设/seo网站优化培

北京营销网站建设,seo网站优化培,建设网站一定需要云服务器么,免费推广途径有哪些目录 前言 二叉树的基本基本操作 获取树中节点的个数 获取叶子节点的个数 获取第K层节点的个数 获取二叉树的高度 检测值为val的元素是否存在 判断一棵树是不是完全二叉树 前言 二叉树的基本基本操作 获取树中节点的个数 遍历思路代码: //获取树中节点的个数 int c…

目录

前言

二叉树的基本基本操作

获取树中节点的个数

获取叶子节点的个数 

 获取第K层节点的个数

获取二叉树的高度 

检测值为val的元素是否存在 

判断一棵树是不是完全二叉树 


前言

二叉树的基本基本操作

获取树中节点的个数

遍历思路代码:

//获取树中节点的个数
int count = 0;
public int size1(BTNode root){if(root == null) {return 0;}count ++;count += size1(root.left);count += size1(root.right);return count;
}

子问题思路:

//子问题思路
public int size2(BTNode root){if (root == null){return 0;}return size2(root.left) + size2(root.right) + 1;
}

获取叶子节点的个数 

遍历思路:

遍历到叶子节点,就让计数器++

叶子节点:root.left == null && root.right == null

public int leafNodes(BTNode root){int count = 0;if(root == null){return 0;}if(root.left == null && root.right == null){count++;}leafNodes(root.left);leafNodes(root.right);return count;}

子问题思路:

左树叶子节点加右树叶子节点

public int leafNodes(BTNode root){if(root == null){return 0;}if(root.left == null && root.right == null){return 1;}return leafNodes(root.left) + leafNodes(root.right);
}

 获取第K层节点的个数

假设K等于3

也就是A的第三层

B,C的第二层

D,E,F,G的第一层

终止条件K等于1

public int getKLeveLNodeCount(BTNode root, int k){if(root == null || k <= 0){return 0;}if(k == 1){return 1;}return getKLeveLNodeCount(root.left,k - 1) + getKLeveLNodeCount(root.right ,k-1);}

获取二叉树的高度 

子问题思路

左树的高度和右树的高度取最大值,然后加1 = 整棵树的高度

public int getHeight(BTNode root){if(root == null){return 0;}int leftHeight = getHeight(root.left);int rightHeight = getHeight(root.right);return leftHeight > rightHeight ? leftHeight + 1 : rightHeight + 1;

检测值为val的元素是否存在 

 public BTNode find(BTNode root,char val){if(root == null){return null;}if(root.val == val){return root;}BTNode ret = find(root.left,val);if(ret != null){return ret;}ret = find(root.right,val);if(ret != null){return ret;}
return null;}

判断一棵树是不是完全二叉树 

public boolean getHeight3(BTNode root){if (root == null) return true;Queue<BTNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()){BTNode cur = queue.poll();if (cur != null){queue.offer(cur.left);queue.offer(cur.right);}else {break;}}while (!queue.isEmpty()){BTNode ret = queue.peek();if(ret != null){return false;}queue.poll();}
return true;}

http://www.lbrq.cn/news/1305469.html

相关文章:

  • 做网站的项目职责怎么写/企业站seo价格
  • 做牙齿技工找工作去哪个网站/百度关键词优化推广
  • 做网站用什么cms 知乎/西安网
  • 杭州软装公司排名前十强/内蒙古网站seo
  • 网站开发设计培训/网站优化推广哪家好
  • 网站建设实施方案/旺道seo推广系统怎么收费
  • 依兰县建设局网站/it培训机构排名及学费
  • 巨人时时彩网站开发/淘宝关键词工具
  • 浏览网站时弹出的广告是谁给做的/直通车推广怎么做
  • 网站分析报告范文2000/餐饮营销方案100例
  • 深圳微信推广平台/官网关键词优化价格
  • 网站和做空间/佛山网络推广平台
  • 用织梦做网站能练技术吗/软文接单平台
  • 做网站多少钱/seo排名优化厂家
  • 给自己企业怎么做网站/网页设计学生作业模板
  • 青岛网站优化公司/小果seo实战培训课程
  • 商品定制首页/郑州关键词优化费用
  • 专门做推广的网站吗/网页设计软件有哪些
  • 党校网站建设整改/北京seo网络优化师
  • 网站制作教程下载/建站abc官方网站
  • 基于云平台网站群建设/微博推广技巧
  • 开发比较实用的软件/长沙关键词优化方法
  • wordpress 一键生成/优化大师的使用方法
  • 无锡网络推广运营公司/广东seo排名
  • 深圳做网站网络营销公司排名/西安百度网站快速排名
  • 武汉做鸭兼职网站/网站竞价推广托管公司
  • 兼职做一篇微信的网站/怎么做
  • 手机上自己做网站/百度快照怎么发布
  • 化工行业网站模板/免费的关键词挖掘工具
  • 手机产品展示网站模板/商务软文写作300字
  • BI Agent vs. 传统BI工具:衡石科技视角下的效率与智能跃迁
  • React 学习(4)
  • React Native 基础tabBar和自定义tabBar - bottom-tabs
  • Web3.0与元宇宙:重构数字文明的技术范式与社会变革
  • openEuler 22.03 LTS Rootless Docker 安装指南
  • day053-初识docker与基础命令