求二叉树指定结点到根结点的路径c++ 非常详细。

article/2025/8/20 11:30:52

 看了很多 没有看见完整的代码 我喜欢喂饭喂到嘴边。

部分代码参考16 二叉树:以x为根的子树的深度_DHU杨骅麟(紫外线过敏)的博客-CSDN博客

面试经典(16)--二叉树根节点到指定节点的路径_nginux的博客-CSDN博客_二叉树根节点到目标节点路径

 运行示例:

 

#include<iostream>
#include<stack>
#include<vector>
using namespace std;
struct Node
{string data;Node* left;Node* right;
};
//查找二叉树指定节点Node* target = NULL;
void creat(Node*& T, string kk)
{string ch;cin >> ch;if (ch == kk){T = NULL;}//但凡输入了#号 该节点下一位停止else{T = new Node;T->data = ch;creat(T->left, kk);creat(T->right, kk);}
}void find(Node* root, string x)//用来寻找结点的地址 
{Node* p = root;if (p == NULL){return;}else if (p->data == x){target = p;//核心 找到p的地址 抓包给全局变量 target现在的值就是所求的地址}else if (p != NULL && p->data != x){find(p->left, x);find(p->right, x);}
}bool display(Node* pRoot, Node* pNode, vector<string>& v)
{if (pRoot == NULL){return false;}v.push_back(pRoot->data);bool found = false;if (pRoot == pNode)//还是比较指针稳妥,节点值有可能重复{for (int i = 0; i < v.size(); i++)cout << v[i] << " ";cout << endl;return true;}if (!found && pRoot->left){found = display(pRoot->left, pNode, v);}//一旦左子树中找到节点,就不需要再遍历右子树if (!found && pRoot->right){found = display(pRoot->right, pNode, v);}if (!found)v.pop_back();return found;
}int main()
{Node* root;string kk;cout << "请输入表示终止的符号:" << endl;cin >> kk;cout << "现在请输入你的二叉树 请用先序遍历输入" << endl;creat(root, kk);vector<string>m;cout << "输入你要找的节点" << endl;string x;cin >> x;	find(root, x);cout << "路径如下:" << endl;display(root, target, m);return 0;}


http://chatgpt.dhexx.cn/article/1wAYkCOB.shtml

相关文章

二叉树的结点数

二叉树的结点数(*) (10分) 已知二叉树的结点结构定义如下: typedef struct _NODE_ {char data;struct _NODE_ *lch, *rch; } NODE; 说明:data 为数据域,均为英文大写字母。lch 和 rch 分别为指示左、右孩子的指针。 请编写函数,求二叉树的结点个数。 函数原型 // 结点…

求一个结点x在在二叉树中的双亲结点算法

1、算法思想 使用先序递归遍历思想完成算法设计。首先判断节点的左右孩子是否存在&#xff0c;若存在&#xff0c;并且左右孩子中有一个符合查找要求&#xff0c;则返回元素&#xff01;否则&#xff0c;继续递归查找&#xff0c;直到成功或者找不到符合要求的结点&#xff01…

计算二叉树中结点的个数

思想&#xff1a; 递归实现 图示为举例二叉树进行思路解释 二叉树中结点的个数&#xff1a;只要能计算出A左子树的个数A右子树的个数1 左子树个数&#xff1a;以B为结点的左子树个数右子树个数1 右子树个数&#xff1a;以C为结点的左子树个数右子树个数1 . . . .&#xff0…

(图解)单链表删除结点值为x的结点算法

目录 一、非递归的算法 第一种算法思路如下&#xff1a; 第二种算法思路如下&#xff1a; 二、递归的算法 一、非递归的算法 第一种算法思路如下&#xff1a; 先判断链表L是否为空&#xff0c;空链表退出程序&#xff1b;用p利用while循环从头到尾扫描单链表&#xff0c;p…

单链表的基本操作-插入结点、删除结点、新建链表、查找结点位置

** C语言新手小白的学习笔记-------------目前持续更新中 ** 本人90后电气工程及其自动化大学生&#xff0c;大二开始接触C语言&#xff0c;写过前端&#xff0c;Python&#xff0c;但是都不精通&#xff0c;通过许多认识后明白了自身的许多不足&#xff0c;因此&#xff0c;…

武汉轰趴团建年会的疯狂玩法活动不一样的经历

又是一年的历程与工作&#xff0c;今年来一点新花样&#xff0c;来吧&#xff0c;让我们一起快乐冲向前&#xff0c;空气中满是不一样的欢声笑语&#xff0c;让我们一起感受不一样的年会趴&#xff0c;让我们一起去快乐的游玩吧。武汉轰趴团建年会的疯狂玩法活动不一样的经历 感…

天猫双11全球狂欢节的诞生,源于对快乐的分享

时光荏苒&#xff0c;天猫双11全球狂欢节&#xff0c;如今已经迈入了第十个年头。 相信有不少读者小伙伴都知道&#xff0c;双11最早其实源于中国的“光棍节”。那么这样一个原本应该是单身狗们黯然神伤的日子&#xff0c;究竟是如何演变成一场让无数消费者和商家都激情澎湃的购…

生成模型太强大?篡改与伪造检测越来越需要了!这篇最新综述不容错过

关注公众号&#xff0c;发现CV技术之美 最近一段时间&#xff0c;以扩散模型为代表的生成模型越来越能逼真地生成图像和视频&#xff0c;一方面是一群人的狂欢&#xff0c;这是AI的进步&#xff0c;另一方面却是另一群人的担忧&#xff0c;这是AI的危险。 AI技术可以造福人类&a…

你越来越孤独的3个原因

昨天看到一句话是这样说的&#xff1a;“交朋友都很难了&#xff0c;还交男朋友。” 我觉得有趣的同时&#xff0c;又发现好像真的是这样&#xff0c;身边好像很久没有出现过新的人了&#xff0c;也很少愿意去参加各种各样的聚会&#xff0c;也没有精力再去认识一些陌生人。 …

超1.58亿人将“血拼”,超级星期六购物节即将到来

超1.58亿人将“血拼”&#xff01;美国超级星期六购物节即将到来&#xff01;亚马逊出手整治“远仓近送”&#xff01; 据美国零售联合会的年度消费者调查结果显示&#xff0c;在今年圣诞节前的最后一个星期六&#xff08;即超级星期六&#xff09;&#xff0c;将有1.58亿人发生…

复旦女神陈果:孤独是一个人的狂欢,在你寂寞时请关注这些公众号充实自己

复旦大学哲学系博士陈果&#xff0c;对孤独做出了一种完美的诠释。她说&#xff1a;“狂欢是一群人的寂寞&#xff0c;孤独是一个人的狂欢。孤独不求外物&#xff0c;反求诸己。” 在你寂寞之时&#xff0c;请关注这些公众号。他们能给你提供有生命力的阅读&#xff0c;让你在有…

1024 程序员节狂欢盛会,等了一年终于来了!

风起岳麓&#xff0c;扶摇而上&#xff0c;约战湘江&#xff0c;谁与争锋&#xff01;以“算力新时代开源创未来”为主题的第三届 2022 长沙中国 1024 程序员节于 10 月 22 日-24 日强势来袭&#xff01;数位院士领衔、中国根技术掌门人以及海外先进开源技术掌门人齐聚&#xf…

夜夜狂欢的派对

奇怪&#xff0c;外国人的语气或思维总因为隔膜的缘故觉得很幽默&#xff0c;是那种“自己不笑却让所有人笑”的幽默。比如早上抛公发给我看的帖子中的几段&#xff1a; “北京有个夜夜狂欢的派对&#xff0c;一定很多人都去参加。因为在北京很多人每天看上去都很疲倦。我不知…

一群搞社区的人

最近Mixlab无界社区参与的电台节目有点多&#xff0c;上次是城市花样精&#xff0c;这次是#社区特辑。推荐给大家&#xff1a; opus 号外号外&#xff01;好公社“嗲声嗲气”播客和CSDC服务设计社区“月月谈”电台合作啦&#xff01; 什么&#xff1f;听起来这个合作来得太突然…

一群人的战斗

一、Bug 来了 一个平静的周日午后&#xff0c;正悠闲地在公园里遛娃。突然来了一条消息&#xff0c;打开企业微信仔细看了下&#xff0c;竟大吃一惊&#xff1a;客户成功在群内反馈了 Android A/B Testing SDK 的一个 crash&#xff0c;需要紧急解决。 得知问题后我立刻和客…

一个“后浪”的狂欢,一群中年人的孤单!

点击“技术领导力”关注∆ 每天早上8:30推送 作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) “孤单&#xff0c;是一个人的狂欢&#xff0c;狂欢&#xff0c;是一群人的孤单。” 《叶子》&#xff0c;阿桑&#xff0c;词/曲&#xff1a;陈晓娟 01 …

计算机术语hook的理解

Hooks就像一些外来的钩子&#xff0c;在源代码之间钩取&#xff08;窃听&#xff09;一些信息&#xff0c;当它捕捉到自己感兴趣的事发生&#xff0c;就拦截下来&#xff0c;让自己的代码执行一下&#xff0c;处理一下这个信息&#xff0c;然后再放出去继续之前的进程。这样就可…

计算机mips是什么,在计算机术语中,什么叫MIPS

2006-08-18 在计算机术语中,什么叫VGA 显卡所处理的信息最终都要输出到显示器上&#xff0c;显卡的输出接口就是电脑与显示器之间的桥梁&#xff0c;它负责向显示器输出相应的图像信号。CRT显示器因为设计制造上的原因&#xff0c;只能接受模拟信号输入&#xff0c;这就需要显卡…