题目16:反转链表
2016-09-14 16:30
232 查看
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
思路:我们需要定义三个指针,分别指向当前结点,它的前一个结点及它的后一个结点。最后试着找到反转后链表的头结点。
思路:我们需要定义三个指针,分别指向当前结点,它的前一个结点及它的后一个结点。最后试着找到反转后链表的头结点。
//链表的结点定义如下: #include<iostream> using namespace std; struct ListNode { int m_key; ListNode* m_next; }; ListNode* Reverse(ListNode*head) { if(head==NULL) return NULL; ListNode*pReHead=NULL;//反转之后的结点 ListNode*p=head; ListNode*pPrev=NULL;//前一个结点 while(p!=NULL) { ListNode*pNext=p->m_next;//它的后一个结点 if(pNext==NULL)//就1个结点 pReHead=p; p->m_next=pPrev; pPrev=p; p=pNext; } return pReHead; }
相关文章推荐
- 剑指offer面试题16——反转链表
- 16反转链表python
- 题目1518:反转链表
- 16:反转链表
- 面试题16 反转链表
- 剑指offer面试题16:反转链表
- 面试题16 :反转链表
- 九度_题目1518:反转链表
- 剑指offer-面试题16-反转链表
- 剑指offer-16.反转链表
- 面试题16:反转链表
- 剑指offer-面试题16:反转链表
- 剑指offer--16.反转链表
- 反转链表递归和非递归实现(面试题 16)
- 剑指Offer题目1518:反转链表
- 面试题16:反转链表
- 【剑指Offer面试编程题】题目1518:反转链表--九度OJ
- 面试题 16:反转链表
- 剑指Offer---面试题16:反转链表
- LeetCode中几道链表反转相关题目(Reorder List、Rotate List、Reverse Nodes in k-Group)