您的位置:首页 > 职场人生

面试真题(一)

2017-03-06 01:26 218 查看
开始汇总面试碰到的代码题,为保密起见,不透露公司名字,但会把所有的编程题都记录下来,每一篇代表一家公司,我会尽量整理得快一点。

60分钟,10道单选+5道不定项选择+若干道填空+2道改错+1道编程。

1、给定一个链表,返回链表逆置后的结果。

思路:简单的链表逆置题,我一开始以为是逆序输出链表的值,想都没想就把链表给入了栈。。。后来发现没法改,只好在栈的基础上实现逆置,挺傻的。个人觉得它想要的答案应该是就地逆置。

//因为LeetCode有原题,所以就直接用了

/**
* Definition for singly-linked list.
* struct ListNode {
*     int val;
*     ListNode *next;
*     ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(!head||!head->next) return head;
ListNode* prev=head;
head=head->next;
prev->next=nullptr;
while(head!=NULL){			//这里实际情况判断写成while(head)就可以了
ListNode* p=head->next;
head->next=prev;
prev=head;
head=p;
}
return prev;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: