思路:

递归:

递归函数声明:

vector<TreeNode*>path(TreeNode *root,int val);

递归出口:

当根节点为空时,返回空数组

vector<TreeNode*>res;
if(root==NULL)return res;

当根节点不为空,如果根节点值为val,返回只有根节点的数组

当只有根节点,且根节点值不为val,返回空数组

if(!root->left&&!root->right&&root->val!=val)
{
return res;
}
if(root==val)
{
res.push_back(root);
return res;
}

递归体:

递归求出左子树到val的路径,递归求出右子树到val的路径,在路径前加入根节点

vector<TreeNode*>l=path(root->left,val);
vector<TreeNode*>r=path(root->right,val);
if(l.size()!=0)
{vector<TreeNode*>res;
res.push_back(root);
res.insert(res.end(),l.begin(),l.end());
return res;
}if (r.size() != 0)
{vector<TreeNode*>res;res.push_back(root);res.insert(res.end(), r.begin(), r.end());return res;
}

二叉树求到某一个节点路径相关推荐

  1. 二叉树中序遍历的下一个节点

    题目描述: 给定一棵二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左.右子节点的指针,还有一个指向父节点的指针. 解题思路: 这道题意即:给定一个节点,按照中序 ...

  2. 每天一道LeetCode-----计算二叉树的最大路径和,路径只需要从一个节点到达另一个节点,无其他要求

    Binary Tree Maximum Path Sum 原题链接Binary Tree Maximum Path Sum 给定一个二叉树,计算二叉树中最长的路径和,路径只需要从一个节点到另一个节点, ...

  3. java计算二叉树的节点最小值_求二叉树根节点到叶子节点路径和的最小值:遍历(递归+非递归)...

    昨晚中兴笔试题,第一题是给定二叉树,每个节点的数据结构是 value,left,right,比较根节点到各个叶子节点路径和的大小,输出路径和的最小值.(补充:用ArrayList可以存储) 以前没做过 ...

  4. java二叉树求权值_百度笔试题目:二叉树路径权值和【转】

    数据结构课程 百度笔试题目: 给出一个二叉树,和一个整型值,求出二叉树上所有从根到叶子的路径,并且此路径上各个节点的权值之和等于给出的整型值. 解题思路: 根据二叉树的先根遍历思想,通过一个栈保存从根 ...

  5. C语言二叉树一个节点的所有祖先节点(附完整源码)

    C语言二叉树一个节点的所有祖先节点 一个节点的所有祖先节点 C语言二叉树一个节点的所有祖先节点完整源码(定义,实现,main函数测试) 一个节点的所有祖先节点 Given a binary Tree: ...

  6. LeetCode 2096. 从二叉树一个节点到另一个节点每一步的方向(最小公共祖先)

    文章目录 1. 题目 2. 解题 1. 题目 给你一棵 二叉树 的根节点 root ,这棵二叉树总共有 n 个节点. 每个节点的值为 1 到 n 中的一个整数,且互不相同. 给你一个整数 startV ...

  7. 最长路径算法 c语言_「算法」求二叉树的最长同值路径

    给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值. 这条路径可以经过也可以不经过根节点. 注意:两个节点之间的路径长度由它们之间的边数表示. 示例 1: 输入: 输出: 2 示例 2: ...

  8. 二叉树——求两个节点的最近公共祖先

    题目 给定一颗二叉树的头结点,和这颗二叉树中2个节点n1和n2,求这两个节点的最近公共祖先: 思路 利用后序遍历实现: 对于当前节点cur,如果节点为null或者等于n1或n2中的一个,则直接返回cu ...

  9. 剑指offer:二叉树的下一个节点

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. /* struct TreeLinkNode {int ...

最新文章

  1. mysql更新索引不影响业务_mysql索引更新要多久
  2. 微软私有云分享(R2)5-域升级造成Hyper-V主机无法实时迁移
  3. php 接口继承,详细对比php中类继承和接口继承
  4. 为什么学好计算机就必须学好汇编?
  5. vs entityframwork Validation failed for one or more entities
  6. 情感分析算法从原理到PaddlePaddle实战全解
  7. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵
  8. 想赚钱是好事,但盲目创业就容易悲剧
  9. ~~堆优化版dijkstra
  10. 在 SSD 上使用 btrfs 文件系统的相关优化
  11. view_image.php,ImageView显示图像控件
  12. android studio2.3.6,Android Studio 2.3 问题汇总 - 解决一切障碍,为了更好的时代
  13. win7的配置要求详解
  14. 在线问卷工具LimeSurvey
  15. 南京大学计算机学类,南京大学计算机专业怎么样
  16. xctf攻防世界 MISC高手进阶区 2-1
  17. Polygon 上 3 款最受欢迎的 GameFi 游戏
  18. teach sex java_java反射机制
  19. 时序信号的时域、频域、时-频域特征提取
  20. java web中的service,servlet和Dao有什么区别

热门文章

  1. 详解Android源码的编译
  2. 使用C#调用外部序或是执行DOS命令
  3. Bailian4098 第二大价值【排序+最值】
  4. 百练(九~十二)题解
  5. HDU1230 火星A+B【进制】
  6. cURL(wget)—— 测试 RESTful 接口及模拟 GET/POST/PUT/DELETE/OPTIONS 请求
  7. Python 爬虫 —— scrapy
  8. Spark 基础 —— RDD(一)
  9. 江苏高考成绩什么时候可以查询2021,2021年江苏高考成绩什么时候公布出来,几月几号几点钟可以查询...
  10. python编程软件哪个好-python IDE有哪些?哪个好用?