char类型添加到字符串中的问题

前言

        之前有在做递归3006基于二叉链表的二叉树最长路径的求解问题中出现了一个问题 源代码如下:

string Get_longest(Tree &tree){ //输入树和末尾字符(这个空字符""会在串的末尾出现 如果你改成"1"也会在末尾加一个1) 返回最长串  s不能加地址符&引用 
	if(!tree->lchild&&!tree->rchild) return tree->data+"";//左右子树都没有 返回这个树的内容 
	string m,n;//m和n分别存储左右子树的最长串 
	if(tree->lchild) m=Get_longest(tree->lchild); //操作左子树 把空字符传递过去并接收后续最长串
	if(tree->rchild) n=Get_longest(tree->rchild); //操作右子树 把空字符传递过去并接收后续最长串
	if(m.length()<n.length()) return tree->data+n; //左右子树那个最长串长就输出那个串加上这个结点的字符 
	return tree->data+m;
}

这段语句貌似是没什么问题的,如果左右结点都没有,返回char类型的data加一个string类型的空字符"",但是实际运行的时候却显示了一个令人迷惑的东西:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘下来邦我吧

头发加了一根

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值