输入一个链表,反转链表

反转链表

http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca

/*
输入一个链表,反转链表后,输出新链表的表头
/
/

解题思路:定义一个vector类型数组,如何将链表节点的数据用inser(begin())函数插入数组,
这样数组内的元素就是原链表的倒叙,再将数组的元素依次赋值给原链表各节点,最后完成链表反转。
/
/

struct ListNode {
int val;
struct ListNode next;
ListNode(int x) :
val(x), next(NULL) {
}
};
/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* p=pHead;
ListNode* x=pHead;
vector<int> array;
if(pHead==NULL)
{
return nullptr;
}
while(pHead!=NULL)
{
array.insert(array.begin(),pHead->val);
pHead=pHead->next;
}
int j=array.size(),i=0;
while(i<j)
{
p->val=array[i++];
p=p->next;
}
return x;
}
};</int>

全部评论

相关推荐

溱元:大四没有实习真的很难了 而且已经是大四下学期了,入行晚了 看样子是刚学完三大件+框架吧 简历真的需要再花时间好好打磨 但是马上又快毕业了 很多公司都要求实习6个月以上 感觉最大的问题就是你没有时间了 虽然可能有点扎心 但就像黑马pink老师说的那样 大四就不要再走it方向了 时间来不及了
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务