二叉树算法c语言,c++二叉树的基本操作

  二叉树算法c语言,c++二叉树的基本操作

  【二叉树】

  写在前面

  中序遍历归并1305、两棵二叉搜索树中的所有元素持续更新中… ?人的才能像挂钟一样,如果停止了摆动,就要落后了~

  博客内容

  中序遍历归并1305、两棵二叉搜索树中的所有元素

  类别解决方案{

  void inorder(TreeNode *node,vector int res) {

  如果(节点){

  inorder(node- left,RES);

  RES . push _ back(节点值);

  inorder(node- right,RES);

  }

  }

  公共:

  vector int获取所有元素(TreeNode * root 1,TreeNode *root2) {

  向量int nums1,nums2

  //中序遍历获得两棵树的元素升序数组

  inorder(root1,nums 1);

  inorder(root2,nums 2);

  //归并排序两个升序数组

  矢量(同Internationalorganizations)国际组织合并;

  auto p1=nums1.begin(),p2=num S2。begin();

  while (true) {

  if (p1==nums1.end()) {

  merged.insert(merged.end(),p2,nums 2。end());

  打破;

  }

  if (p2==nums2.end()) {

  merged.insert(merged.end()、p1、num S1。end());

  打破;

  }

  if (*p1 *p2) {

  合并了。push _ back(* P1);

  }否则{

  合并了。push _ back(* p2);

  }

  }

  返回合并的;

  }

  };/**

  *二叉树节点的定义。

  *结构树节点{

  * int值

  * TreeNode * left

  * TreeNode *右

  * TreeNode() : val(0),left(nullptr),right(nullptr) {}

  * TreeNode(int x) : val(x),left(nullptr),right(nullptr) {}

  * TreeNode(int x,TreeNode *left,TreeNode *right) : val(x),left(左),对吧(右){}

  * };

  */

  类别解决方案{

  向量整数1

  向量整数2

  公共:

  void dfs(TreeNode* node,vector int nums) {

  //结束

  if(node==nullptr) {

  返回;

  }

  //左中右,中序遍历

  dfs(左节点,nums);

  nums。push _ back(node-val);

  dfs(右节点,nums);

  返回;

  }

  vector int获取所有元素(TreeNode * root 1,TreeNode* root2) {

  dfs(root1,nums 1);

  dfs(root2,nums 2);

  //归并,两数组均升序

  矢量判断是否需要交叉

  int i=0,j=0;

  而(我num S1。尺码()j号S2。size()){

  if(nums1[i]=nums2[j]) {

  ans。push _ back(num S1[I]);

  我;

  }否则{

  ans。push _ back(nums 2[j]);

  j;

  }

  }

  while(i nums1.size()){

  ans。push _ back(num S1[I]);

  我;

  }

  while(j nums2.size()){

  ans。push _ back(nums 2[j]);

  j;

  }

  返回美国国家标准(American National Standards的缩写)

  }

  };

  知识点:

  merged.insert(merged.end()、p1、num S1。end());数组合并

  写在后面

  加油

  乐观是一首激昂优美的进行曲,时刻鼓舞着你向事业的大路勇猛前进!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: