链表反转leetcode206
生活随笔
收集整理的這篇文章主要介紹了
链表反转leetcode206
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近準(zhǔn)備結(jié)束自己的科研生涯,準(zhǔn)備要開(kāi)始找工作了,準(zhǔn)備在LEETCODE刷刷題...刷的前40題全部用python刷的,各種調(diào)包速度奇快,后被師哥告知這樣沒(méi)意義,于是準(zhǔn)備開(kāi)始回歸C++,Python用的多了再用C++總是忘記敲分號(hào)和括號(hào),甚至Compile Error了幾次 = =。尷尬
鏈表反轉(zhuǎn)比較簡(jiǎn)單,首先用自己的“本科”方法做了一下,發(fā)現(xiàn)效率并不高:
1 class Solution { 2 public: 3 ListNode* reverseList(ListNode* head) { 4 ListNode *p = head; 5 if(p == NULL||p->next == NULL){ 6 return p; 7 } 8 ListNode *q,*r; 9 q = p->next; 10 p->next = NULL; 11 while(q != NULL){ 12 r = q->next; 13 q->next = p; 14 p = q; 15 q = r; 16 } 17 return p; 18 } 19 };完全常規(guī)的方法,13ms。后來(lái)想了一下可以遞歸的求試試:
1 class Solution { 2 public: 3 ListNode* reverseList(ListNode* head) { 4 if(head == NULL||head->next == NULL){ 5 return head; 6 } 7 ListNode *ans = reverseList(head->next); 8 head->next->next = head; 9 head->next = NULL; 10 return ans; 11 } 12 };這個(gè)方法求解加速到了6ms,是個(gè)不錯(cuò)的嘗試。這是目前我所能想到的比較簡(jiǎn)單的方法。
轉(zhuǎn)載于:https://www.cnblogs.com/qiangge666/p/6143320.html
總結(jié)
以上是生活随笔為你收集整理的链表反转leetcode206的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Struts2零配置介绍(约定访问)
- 下一篇: 【转】gdb 调试段错误