您的位置: 题酷首页 » 所有题目 » 面试题之链表问题 - 倒转单链表


面试题之链表问题 - 倒转单链表


0
0
4 答
854 看

关于链表好像有一系列问题,这个是最简单的一个:

给定一个单链表,请将它倒转

很多时候,问题都是想起来容易做起来难,这个题目据说只有1/3的面试者能够正确写出来

面试题链表
2009/08/18 by 半瓶墨水 6个月前更新 更新记录



1

本人刚写的,欢迎指点。

void inverseLinkList(List &head)
{
if (head == NULL || head->next == NULL)
{
    return;
}

List p = head->next;
List q = head;
head->next = NULL;

while(p)
{
    List t = p;
    p = p->next;
    t->next = q;
    q = t;
}
    head = q;
}
2 挑剔一下:从逻辑上来说,最开始的head->next == NULL可以去掉半瓶墨水, 7个月前
3 是可以去掉,但是我想说的是,对只有头结点的链表来说,反转就是自己。所以直接返回,这样应该更好啊。Haitao, 7个月前
0

写一个Haskell版本的。

reverse :: [a] -> [a]  
reverse [] = []
reverse (x:xs) = reverse xs ++ [x]
Oops, 递归确实好用半瓶墨水, 6个月前
0

这个行么?

li = [1,2,3,4,5,6]

n = len(li)

for i in range(n):
    if(i == (n-1-i)):
        break
    a = li[i]
    li[i] = li[n-1-i]
    li[n-1-i] = a
    if((i+1) == (n-1-i)):
        break
链表啊,童鞋,你这个是数组...囧半瓶墨水, 6个月前
@半瓶墨水: …… python的链表要用list去模拟?append,remove.lpen, 6个月前
-1

python有个内置的:

li=[1,2,3]
li.reverse()
汗~很多语言都有内置的~出这套题,就是让你想象内部是啥机制...半瓶墨水, 6个月前
@半瓶墨水: 呃,说的也是。lpen, 6个月前

250x

参与回答

 提示:如不是回答问题,请采用发表评论形式! (比如针对题目或者某个回复的意见、建议)

注册登录后再回答