LintCode容易题练习——35. 翻转链表
2018-01-27 14:36
288 查看
样例
给出一个链表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;
}
};
给出一个链表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;
}
};
相关文章推荐
- LintCode容易题练习——35. 翻转链表
- LintCode-35. 翻转链表
- Lintcode 35.翻转链表
- lintcode 35. 翻转链表
- Lintcode:35. 翻转链表
- Lintcode 35.翻转链表
- 35. 翻转链表(reverse-linked-list)(c++)----lintcode面试题之链表
- 【LintCode 简单】35. 翻转链表
- LintCode【简单】35. 翻转链表 。代码及思路
- lintcode 35. 翻转链表
- [LintCode]35.翻转链表 ***
- LintCode刷题阶段性总结---链表容易篇(翻转链表,删除链表重复元素,合并两个排序链表等)
- 35. 翻转链表-LintCode
- lintcode,翻转链表 II
- LintCode : 翻转链表
- LintCode-翻转链表
- lintcode 容易题:Invert Binary Tree 翻转二叉树
- [Lintcode]Reverse Linked List II 翻转链表 II
- LintCode 翻转链表
- 【LintCode】 Reverse Linked List 翻转链表