大佬教程收集整理的这篇文章主要介绍了LeetCode-206 Reverse Linked List,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-linked-list
/** * DeFinition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int X) : val(X),next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { stack<ListNode *> nodeStack; if(head==NULL) return NULL; ListNode * pNode=head; while(pNode!= NULL) { nodeStack.push(pNodE); pNode=pNode->next; } ListNode * newHead=NULL; newHead=nodeStack.top(); nodeStack.pop(); ListNode * pre=newHead; while(!nodeStack.empty()) { ListNode * p=nodeStack.top(); nodeStack.pop(); pre->next=p; pre=p; } pre->next=NULL; return newHead; } };
/** * DeFinition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int X) : val(X),next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { ListNode * newHead=NULL; if(head ==NULL) //链表是空的就返回空 return NULL; ListNode * nextNode = head->next; ListNode * res=reverseList(nextNodE); if(nextNode ==NULL) return head; nextNode->next = head; head->next=NULL; return res; } };
以上是大佬教程为你收集整理的LeetCode-206 Reverse Linked List全部内容,希望文章能够帮你解决LeetCode-206 Reverse Linked List所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。