作者woody3724 (woody)
看板C_and_CPP
标题[问题] LeetCode Runtime Error
时间Sat Feb 11 01:34:18 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
Win 8
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
LeetCode
最近在练习用C写LeetCode的题目
题目:
https://leetcode.com/problems/find-mode-in-binary-search-tree/
我的想法是利用In-Order把BST的节点通通由小到大放入ary阵列中
再另外开一个阵列b来放每个元素出现的个数
程式码:
http://codepad.org/fRoufhCU (只附上leetcode需要的部分,main就没贴上来)
假设BST的所有节点为{-3,1,1,2,2,3,4,4,5} (已由小到大排列),如下图
http://imgur.com/GfhLdN5.jpg
在DevC上可以顺利执行
但丢到LeetCode上就会有如右图的错误
http://i.imgur.com/jeYB4ld.jpg
完全找不出错在哪..........
先谢谢各位了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.64.211.188
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1486748062.A.07B.html
1F:推 wawi2: *returnSize. Why is there a star? 02/11 07:04
因为LeetCode题目规定Return an array of size *returnSize
int* findMode(struct TreeNode* root, int* returnSize) {
}
也很明显是要用传记忆体位址的方式传入 findMode function内
※ 编辑: woody3724 (61.64.210.30), 02/11/2017 08:07:47
2F:推 nick5130: 你没有处理到node->val是NULL的情况 02/11 09:07
3F:→ nick5130: 我猜你的code会把NULL当成一个值,所以[1,null,2,2]长是 02/11 09:34
4F:→ nick5130: 4 或许你在你的DevC上可以跑 但是assign一个int为NULL 02/11 09:34
5F:→ nick5130: 还蛮奇怪的 也不能保证每次都成功吧 02/11 09:35
6F:→ nick5130: 不好意思 请忽略我上面四行吧 XDDD 02/11 10:14
7F:→ nick5130: 本来以为要自己建树所以才有上面的推文 02/11 10:23
8F:推 niwota: 应该是错在void inorder(...) 里的static int index=0 02/11 10:24
9F:→ niwota: leetcode在换另一棵树去跑你的index值还在,不会变回0 02/11 10:25
太感谢了!! 原来问题出在这!! 已经解决 感恩
※ 编辑: woody3724 (61.64.210.30), 02/11/2017 10:51:51