同学,请问总共有多少题,什么题型。
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
10-11 10:39
点赞 评论 收藏
分享
第一志愿被刷了,调剂到这边。没什么耐心就算了,人还菜。出了一道题目:数字按十进制从高位开始按链表存储,比如1234表示为1->2->3->4->NULL,给出两个链表,求两个数字相加后的链表表示。让我口述思路。13:40的面试,中午没休息好,下意识说出了两个链表顺序遍历,逐节点相加并处理进位的思路。(下意识的想法,事后我当然知道也可以先转换成数字,再相加,再表示成链表)提示我顺序错了,我说那可以先反转链表,再相加,计算结果再反转。追问怎么反转链表,我说口述说不清楚,能不能直接写出来,要不了几分钟,或者能边画边说明也行。battle了好一会儿终于同意我写出来了。写了个头结点插入法,程序张这样:(必须用C语言)```ctypedef struct node{int val;struct node* next;}listNode;listNode* reverse_list(listNode* head) {listNode dummy = {-1, head};listNode* p = head;while (p != NULL){listNode* cur = p;p = p->next;cur->next = dummy.next;dummy.next = cur;}head->next = NULL;return dummy.next;}```首先这个哑结点他看不懂什么意图,反反复复问头结点已经给我了,为什么还要定义一个头结点。我说这个哑结点没有实际意义,只是为了处理方便,哑结点的后继节点才是真正的头节点。(前驱和后继他貌似也听不懂是什么意思?)然后他又纠结原本的第一个节点怎么指向自己了?我说这不影响,因为遍历后还有一句 head->next = NULL; 原本的头结点是新的尾节点嘛。他应该还是没搞明白我说要不把完整的程序写出来运行一遍演示一下吧,结果写了一两分钟,他说只有30分钟的时间就快结束了,他要去面试下一个人。。。跟您battle的时间早够我写完整个程序了,就这水平,不去也罢
发面经攒人品
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务