[問題] 二元樹 已解決

看板C_and_CPP (C/C++)作者時間9年前 (2017/03/05 22:12), 9年前編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
語言: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://www.ptt.cc/bbs/C_and_CPP/M.1488723126.A.5ED.html ※ 編輯: worcdlo (223.141.10.18), 03/05/2017 22:14:35

03/05 22:31, , 1F
會不會是沒有檢查node是null的狀況
03/05 22:31, 1F

03/05 22:33, , 2F
不會阿 遞迴不是有if嗎 if(node->r)
03/05 22:33, 2F

03/05 22:35, , 3F
我在考慮 leetcode能用new自己拉空間嗎?
03/05 22:35, 3F

03/05 22:41, , 4F
要不要整段code貼過來 這樣版上的高手們
03/05 22:41, 4F

03/05 22:41, , 5F
比較容易發現問題
03/05 22:41, 5F
※ 編輯: worcdlo (223.141.10.18), 03/05/2017 22:49:08

03/05 22:58, , 6F
r和l有初始化嗎
03/05 22:58, 6F

03/05 23:00, , 7F
你是指自己令他為NULL? 沒有
03/05 23:00, 7F

03/05 23:02, , 8F
Accepted了... 感謝
03/05 23:02, 8F
※ 編輯: worcdlo (223.141.10.18), 03/05/2017 23:04:07
文章代碼(AID): #1Ol1osNj (C_and_CPP)
文章代碼(AID): #1Ol1osNj (C_and_CPP)