单向链表 面试题
面试了一次:
有一个题:一个单向链表,遍历一次,逆序输出。
我的答案:1 先建立一个数组,然后顺序遍历链表一次,遍历过程中存数组,最后通过数组逆序输出。
2 新建立一个链表---链表2,然后遍历旧的链表,前插到链表2,最后通过链表2顺序输出。
HR貌似不满意。面试后思量了一下,是不是说要直接把链表反转?那不简单!反正没明白啥意思。难道真的可以遍历一遍就逆序输出链表中的东西????
求简答。 单向链表?面试题 ?面试题 单向链表?
[解决办法]
全才的HR啊
pHead->next = NULL;
pNode p1 = pHead;
pNode p2 = p1->next;
pNpde p3 = p2->next;
while(p3)
{
p2->next = p1;
p1 = p2;
p2 = p3;
p3 = p3->next;
}
p2->next = p1;
pHead = p2;