由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道挺简单的题给搞砸了
相关主题
怎么理解递归解决的“swap every two elements in a linked list”?反转链表有几种方法
弱问题,连反转链表都看不懂了面试题
到底怎么了?很多面试来的居然连reverse一个链表都写不来请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?
问个reverse linked list问道G家的面试题。
合并两个排序好的链表, 优解?leetcode过的一代工程师
弱问一个小问题,leetcode 上merge sorted list[ 每日一课] Sort List
问一个merge K sorted list的时间复杂度Leetcode 问题:remove Nth FromEnd 有一点儿不懂,謝謝指点!
透露两个G的onsite题根据我面过的hp来的人,基本都没竞争力
相关话题的讨论汇总
话题: head话题: null话题: 指针话题: list话题: element
进入JobHunting版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
PNode reverse(PNode head)
{
PNode newhead=null;
while(head)
{
PNode n=head;
head=head->next;
n->next=newhead;
newhead=n;
}
return newhead;
}
等了几分钟那人一进门就说,“二爷,你怎么写的这么复杂呢?你怎么用了这么多指针
呢?你能不能少用一些指针呢?“,
我说”你的意思是让我用一个指针变量来完成“,他说”是的,你用了太多指针了“。
我说”好吧,我看看“。
结果不看还好,越看越心惊,压力无限大,脑子短路,啥思路也没有,当即就跪了。
本来一道挺简单的题,咋做成个这样子呢?昨晚一晚没睡好,郁闷呀。
y**********u
发帖数: 6366
2
写的挺好啊
这个b看着像是找茬的

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

p*i
发帖数: 411
3
想让你用recursion?
有些面试官真心喜欢recursion

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

p*****2
发帖数: 21240
4
郁闷呀,平时不注意学习leetcode的经典解法,以为自己有思路就可以了,没想到这么
个结局。大家要引以为戒呀。
v***n
发帖数: 5085
5
recursive?

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

j********9
发帖数: 603
6
这都不行,唉,继续看题,背题。。。
v***n
发帖数: 5085
7
但是递归的空间开支其实比北京的大

【在 p*i 的大作中提到】
: 想让你用recursion?
: 有些面试官真心喜欢recursion

p*****2
发帖数: 21240
8

我咋碰不到你这样的面试官呢?

【在 y**********u 的大作中提到】
: 写的挺好啊
: 这个b看着像是找茬的

p*i
发帖数: 411
9
这些都没关系的。
俺就遇到过这样的面试官,本来写的iterative的已经最优了,除了代码稍微多几行
人一定要找出俺的问题,说俺的代码不好看,为什么不用recursion,然后吧唧吧唧吹
recursion多好多好
后来发现此人不知道很多recursive的算法可以改造成iterative的

【在 v***n 的大作中提到】
: 但是递归的空间开支其实比北京的大
v***n
发帖数: 5085
10
恩,换我就问问他如果他做编译器要怎么实现recursion
哈哈哈

【在 p*i 的大作中提到】
: 这些都没关系的。
: 俺就遇到过这样的面试官,本来写的iterative的已经最优了,除了代码稍微多几行
: 人一定要找出俺的问题,说俺的代码不好看,为什么不用recursion,然后吧唧吧唧吹
: recursion多好多好
: 后来发现此人不知道很多recursive的算法可以改造成iterative的

相关主题
弱问一个小问题,leetcode 上merge sorted list反转链表有几种方法
问一个merge K sorted list的时间复杂度面试题
透露两个G的onsite题请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?
进入JobHunting版参与讨论
y**********u
发帖数: 6366
11
碰到这样找茬的直接开骂了
有些面试官自以为知道茴字的几种写法,不要鸟

【在 p*****2 的大作中提到】
:
: 我咋碰不到你这样的面试官呢?

y**********u
发帖数: 6366
12
我真看不出他这样多用一个指针,最多分配一个寄存器变量和内存地址的
和面试官无数次recursion, 建立activation record,保存当前的局部变量,跳转
activation record有什么劣势
这样的面试官估计就是找艹

了吗
才对

【在 p*i 的大作中提到】
: 想让你用recursion?
: 有些面试官真心喜欢recursion

h****e
发帖数: 928
13
二爷,只能说你和他chemistry不合。
c***p
发帖数: 221
14
二爷不必太烦恼了。 我也遇到过这样的面试官,他就是要他想要的答案,别的一概不
行。稍微好一点的,就不断地加限制,逼你最后说出他想要的答案。差的,就像你遇到
的这个面试官,就是说你的方法不好。
其实现在的编译器已经很强大了,多用个把变量,编译器会做优化的。因此,在减少变
量上面费力是不值得的。如果面试官懂这个,还要让你优化变量,那他就是有意想为难
为难你了。人为刀俎,我为鱼肉。没什么好讲的了。 而且,这样的人,你愿意和他合
作吗?

【在 p*****2 的大作中提到】
:
: 我咋碰不到你这样的面试官呢?

t**********h
发帖数: 2273
15
这。。。
p*i
发帖数: 411
16
呵呵,人家不会是不会,还是能吹的天花乱坠的

【在 v***n 的大作中提到】
: 恩,换我就问问他如果他做编译器要怎么实现recursion
: 哈哈哈

p*i
发帖数: 411
17
嗯,就是那种不懂多少还装nb的

【在 y**********u 的大作中提到】
: 我真看不出他这样多用一个指针,最多分配一个寄存器变量和内存地址的
: 和面试官无数次recursion, 建立activation record,保存当前的局部变量,跳转
: activation record有什么劣势
: 这样的面试官估计就是找艹
:
: 了吗
: 才对

l*********8
发帖数: 4642
18
it's a single-linked list or double-linked list?

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

M***t
发帖数: 1636
19
single

【在 l*********8 的大作中提到】
: it's a single-linked list or double-linked list?
g**u
发帖数: 504
20
下面这个是不是更好一点啊,网上看到的。我觉得应该用指针啊,你的代码里怎么head
和newhead都不是指针呢?
//single-linked list
Element *reverse(Element *old_list)
{
Element *new_list = NULL;
while (old_list != NULL) {
// Remove element from old list.
Element *element = old_list;
old_list = old_list->next;
// Insert element in new list.
element->next = new_list;
new_list = element;
}
return new_list;
}

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

相关主题
问道G家的面试题。Leetcode 问题:remove Nth FromEnd 有一点儿不懂,謝謝指点!
leetcode过的一代工程师根据我面过的hp来的人,基本都没竞争力
[ 每日一课] Sort Listf 的面经
进入JobHunting版参与讨论
w****x
发帖数: 2483
21

这个逼就是存心找碴, 你不这么认为就是自虐

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

H****r
发帖数: 2801
22
Is this real story?

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

a***o
发帖数: 1182
23
啥公司啊?

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

t**********h
发帖数: 2273
24
这个时候就要靠扯淡了,遇到这种人。看扯淡能不能抗过去,讲个笑话,打个哈哈就过
去了。如果还过不去,就只能跪了。。。
p*****2
发帖数: 21240
25
刚才看了一下leetcode的正解,好像我还少用了一个指针呀。
p*****2
发帖数: 21240
26

head
没看到P吗?

【在 g**u 的大作中提到】
: 下面这个是不是更好一点啊,网上看到的。我觉得应该用指针啊,你的代码里怎么head
: 和newhead都不是指针呢?
: //single-linked list
: Element *reverse(Element *old_list)
: {
: Element *new_list = NULL;
: while (old_list != NULL) {
: // Remove element from old list.
: Element *element = old_list;
: old_list = old_list->next;

p*****2
发帖数: 21240
27

递归的我上星期练过一次,还有纪录呢。不过做题做得太快了,给忘记了。当时一紧张
也没想起来呀。要不leetcode说我做那么快不好,果然遭到报应了。leetcode真是大神
呀。
ListNode reverse(ListNode head)
{
if(head==null || head.next==null)
return head;

ListNode node=reverse(head.next);
head.next.next=head;
head.next=null;

return node;
}
H****r
发帖数: 2801
28
Any advantage for the recursive version?

【在 p*****2 的大作中提到】
:
: 递归的我上星期练过一次,还有纪录呢。不过做题做得太快了,给忘记了。当时一紧张
: 也没想起来呀。要不leetcode说我做那么快不好,果然遭到报应了。leetcode真是大神
: 呀。
: ListNode reverse(ListNode head)
: {
: if(head==null || head.next==null)
: return head;
:
: ListNode node=reverse(head.next);

p*****2
发帖数: 21240
29

可以少定义一个指针变量呀。

【在 H****r 的大作中提到】
: Any advantage for the recursive version?
H****r
发帖数: 2801
30
besides that? Recursion works like a stack from my understanding and it
consumes resource to manage...

【在 p*****2 的大作中提到】
:
: 可以少定义一个指针变量呀。

相关主题
晕!java没有pass parameters by reference啊弱问题,连反转链表都看不懂了
c/c++ double pointer研究到底怎么了?很多面试来的居然连reverse一个链表都写不来
怎么理解递归解决的“swap every two elements in a linked list”?问个reverse linked list
进入JobHunting版参与讨论
p*****2
发帖数: 21240
31

除了这个就是可以通过面试吧?不然这还通过不了那就活不下去了。

【在 H****r 的大作中提到】
: besides that? Recursion works like a stack from my understanding and it
: consumes resource to manage...

b********h
发帖数: 2451
32
recursive solution?
linknode* Inverse_link(linknode* head){
if (head->next==NULL) return head;
else{
linknode* new_head=Inverse_link(head->next);
(head->next)->next=head;
head->next=NULL;
returen new_head;
}
}

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

p*****2
发帖数: 21240
33

how about input is null?

【在 b********h 的大作中提到】
: recursive solution?
: linknode* Inverse_link(linknode* head){
: if (head->next==NULL) return head;
: else{
: linknode* new_head=Inverse_link(head->next);
: (head->next)->next=head;
: head->next=NULL;
: returen new_head;
: }
: }

b********h
发帖数: 2451
34
oh, I didn't consider that :-(
maybe change the line
if (head->next==NULL||head==NULL) can solve the problem?
p*****2
发帖数: 21240
35

这个也不行吧?

【在 b********h 的大作中提到】
: oh, I didn't consider that :-(
: maybe change the line
: if (head->next==NULL||head==NULL) can solve the problem?

l*****a
发帖数: 14598
36
这题我拿手
2种写法各写过不下5次

【在 p*****2 的大作中提到】
: 被出了个经典题reverse linkedlist, 我说我刚刚被问道了。他说是吗?你做出来了吗
: ?我说做出来了。他说那你再写一遍吧,既然已经做了一次了,这次应该perfect才对
: 吧。然后去倒茶了,让我自己写。大概1,2分钟写完,大概这个样子。
: PNode reverse(PNode head)
: {
: PNode newhead=null;
: while(head)
: {
: PNode n=head;
: head=head->next;

t**********h
发帖数: 2273
37
膜拜大牛。。。

【在 l*****a 的大作中提到】
: 这题我拿手
: 2种写法各写过不下5次

l*****a
发帖数: 14598
38
这是最基本的题

【在 t**********h 的大作中提到】
: 膜拜大牛。。。
p*****2
发帖数: 21240
39

膜拜。怪不得那么多大offer呢。

【在 l*****a 的大作中提到】
: 这是最基本的题
c*****l
发帖数: 20
40
我感觉有的考官在挑毛病
似乎心中已经决定拒了再找理由

呢?你能不能少用一些指针呢?“,
我说”你的意思是让我用一个指针变量来完成“,他说”是的,你用了太多指针了“。
我说”好吧,我看看“。
结果不看还好,越看越心惊,压力无限大,脑子短路,啥思路也没有,当即就跪了。
本来一道挺简单的题,咋做成个这样子呢?昨晚一晚没睡好,郁闷呀。

【在 p*****2 的大作中提到】
:
: 膜拜。怪不得那么多大offer呢。

1 (共1页)
进入JobHunting版参与讨论
相关主题
根据我面过的hp来的人,基本都没竞争力合并两个排序好的链表, 优解?
f 的面经弱问一个小问题,leetcode 上merge sorted list
晕!java没有pass parameters by reference啊问一个merge K sorted list的时间复杂度
c/c++ double pointer研究透露两个G的onsite题
怎么理解递归解决的“swap every two elements in a linked list”?反转链表有几种方法
弱问题,连反转链表都看不懂了面试题
到底怎么了?很多面试来的居然连reverse一个链表都写不来请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?
问个reverse linked list问道G家的面试题。
相关话题的讨论汇总
话题: head话题: null话题: 指针话题: list话题: element