作者worcdlo ()
看板C_and_CPP
标题[问题] 二元树
时间Sun Mar 5 22:12:04 2017
语言:C++
编译器:在leetcode上 我也不知道编译器是什麽
问题(Question):
小弟在刷leetcode中尝试用二元树解决一个题目
树的结构长这个样子
struct tree{
tree *r;
tree *l;
int val;
int count;
};
当这个树要traversal时
只要树中有超过二个元素,就会有这个error
Line 32: member access within misaligned address 0x000300000001 for type
'struct tree', which requires 8 byte alignment
看叙述貌似是资料的储存空间对应不起来
void traversal(tree *node , vector<int> &solution){
if(node->count==1) solution.push_back(node->val); (←line32)
if(node->r) traversal(node->r,solution);
if(node->l) traversal(node->l,solution);
}
可是明明都是宣告int?
下面是完整程式码
https://drive.google.com/open?id=0B2_MLdF4iY1lbWZ4NFNtZ0VDdkk
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.141.10.18
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1488723126.A.5ED.html
※ 编辑: worcdlo (223.141.10.18), 03/05/2017 22:14:35
1F:推 jerryh001: 会不会是没有检查node是null的状况 03/05 22:31
2F:→ worcdlo: 不会阿 递回不是有if吗 if(node->r) 03/05 22:33
3F:→ worcdlo: 我在考虑 leetcode能用new自己拉空间吗? 03/05 22:35
4F:→ ilikekotomi: 要不要整段code贴过来 这样版上的高手们 03/05 22:41
5F:→ ilikekotomi: 比较容易发现问题 03/05 22:41
※ 编辑: worcdlo (223.141.10.18), 03/05/2017 22:49:08
6F:→ shadow0326: r和l有初始化吗 03/05 22:58
7F:→ worcdlo: 你是指自己令他为NULL? 没有 03/05 23:00
8F:→ worcdlo: Accepted了... 感谢 03/05 23:02
※ 编辑: worcdlo (223.141.10.18), 03/05/2017 23:04:07