c – 在访谈测试中使用的LinkedList
发布时间:2020-12-16 03:34:20 所属栏目:百科 来源:网络整理
导读:[编辑]修正了我的代码.是while(temp!= NULL),而不是while(temp- next!= NULL).很抱歉插入错误的代码. 今天我参加了在线编程测试.采访者使用Codility评估我的代码和其他受访者. 在某个时刻,关于链接列表的问题已经提出.它将计算链表有多少项. 我做了唯一可
[编辑]修正了我的代码.是while(temp!= NULL),而不是while(temp-> next!= NULL).很抱歉插入错误的代码.
今天我参加了在线编程测试.采访者使用Codility评估我的代码和其他受访者. //This is struct declaration struct SomeStruct { int value; SomeStruct* next; } int elementCount(SomeStruct* list) { int count = 0; if(list != NULL) { SomeStruct* temp = list; while(temp != NULL) { count++; temp = temp->next; } } return count; } 我记得当我发送这段代码作为这个问题的答案时,Codility指出这个解决方案是错误的,因为它耗费了太多时间来执行任务. 当Codility说这个解决方案错了时会有问题吗?还是有另一种方法? PS:允许使用STL的测试 解决方法
好吧,你不必为每次迭代评估间接temp->接下来两次.
你可以干脆做 int count( SomeStruct const* pNode ) { int result = 0; while( pNode != 0 ) { ++result; pNode = pNode->next; } return result; } 此外,作为WhozCraig notes,您的代码在逻辑上是错误的(通过一个结果产生关闭),而不仅仅是潜在的低效率. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |