您的位置:首页 > 其它

LintCode容易题练习——35. 翻转链表

2018-01-27 14:36 253 查看
样例

给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null   
 以上是LintCode上的样例。
 对于链表翻转此类问题,先对链表节点进行观察。
 此处链表节点构造仅分数据域和指针域两块。
 所以直接进行数据域翻转即可。
ListNode * reverse(ListNode * head) {
// write your code here
if(head == NULL || head->next == NULL)
{
return head;
}// 其中此处是对头节点进行判断,如果头节点仅一个或为空,则直接返回头节点。
else
{
for(ListNode *p = head;p != NULL;p = p->next)
{
for(ListNode *q = p->next;q != NULL;q = q->next)
{
int temp;
temp = p->val;
p->val = q->val;
q->val = temp;
}
}
}
return head;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: