成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[LeetCode] #206: Reverse Linked List (遞代&遞歸解法)

RobinQu / 2912人閱讀

摘要:原題既然問了能否那就把解法總結(jié)就是得到下一個(gè)節(jié)點(diǎn),更改當(dāng)前節(jié)點(diǎn)指向,將指針往下移動(dòng),直到過完整個(gè)解法總結(jié)是傳給兩個(gè)節(jié)點(diǎn),和最開始是和先用存當(dāng)前節(jié)點(diǎn)的,然后把當(dāng)前節(jié)點(diǎn)的指向,然后一直直到過完整個(gè)

原題:

Reverse a singly linked list.

click to show more hints.

Hint:
A linked list can be reversed either iteratively or recursively. Could you implement both?

既然問了能否iteratively or recursively, 那就both把.

iterative 解法:

總結(jié)就是得到下一個(gè)節(jié)點(diǎn),更改當(dāng)前節(jié)點(diǎn)指向,將指針往下移動(dòng),直到過完整個(gè)linkedlist.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode prev = null;
        ListNode cur = head;
        while(cur!=null){
            ListNode next = cur.next; 
            cur.next = prev;
            prev = cur;
            cur = next;
        }
        return prev;
    }
}

recursive 解法:

總結(jié)是傳給helper method兩個(gè)節(jié)點(diǎn),cur和pre(最開始是head和null), 先用n1存當(dāng)前節(jié)點(diǎn)的next,然后把當(dāng)前節(jié)點(diǎn)的next指向pre,然后一直recursively call help method直到過完整個(gè)linkedlist.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode reverseList(ListNode head) {
        if(head == null||head.next== null)
            return head;
        return getReverse(head, null);
    }
    
    public ListNode getReverse(ListNode cur, ListNode prev){
        if(cur.next == null){
            cur.next = prev;
            return cur;
        }
        ListNode n1 = cur.next;
        cur.next = prev;
        return getReverse(n1,cur);
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65666.html

相關(guān)文章

  • LeetCode 206:反轉(zhuǎn)鏈表 Reverse Linked List

    摘要:反轉(zhuǎn)一個(gè)單鏈表。示例輸入輸出進(jìn)階你可以迭代或遞歸地反轉(zhuǎn)鏈表。你能否用兩種方法解決這道題解題思路每次遍歷到最后一位取節(jié)點(diǎn)這種方法就算了時(shí)間復(fù)雜度太高。從鏈表末尾向頭部逐個(gè)分離節(jié)點(diǎn),并將節(jié)點(diǎn)添加到新鏈表的末尾。與迭代法原理相似。 反轉(zhuǎn)一個(gè)單鏈表。 Reverse a singly linked list. 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2...

    Gilbertat 評(píng)論0 收藏0
  • LeetCode 206:反轉(zhuǎn)鏈表 Reverse Linked List

    摘要:反轉(zhuǎn)一個(gè)單鏈表。示例輸入輸出進(jìn)階你可以迭代或遞歸地反轉(zhuǎn)鏈表。你能否用兩種方法解決這道題解題思路每次遍歷到最后一位取節(jié)點(diǎn)這種方法就算了時(shí)間復(fù)雜度太高。從鏈表末尾向頭部逐個(gè)分離節(jié)點(diǎn),并將節(jié)點(diǎn)添加到新鏈表的末尾。與迭代法原理相似。 反轉(zhuǎn)一個(gè)單鏈表。 Reverse a singly linked list. 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2...

    heartFollower 評(píng)論0 收藏0
  • LeetCode 之 JavaScript 解答第206題 —— 反轉(zhuǎn)鏈表(Reverse Link

    摘要:算法思路兩種方法一般反轉(zhuǎn)遞歸法一般解決定義三個(gè)指針,分別為,存儲(chǔ)當(dāng)前結(jié)點(diǎn),指向反轉(zhuǎn)好的結(jié)點(diǎn)的頭結(jié)點(diǎn),存儲(chǔ)下一結(jié)點(diǎn)信息。遞歸法重點(diǎn)分析先確定終止條件當(dāng)下一結(jié)點(diǎn)為時(shí),返回當(dāng)前節(jié)點(diǎn)判斷當(dāng)前的鏈表是否為遞歸找到尾結(jié)點(diǎn),將其存儲(chǔ)為頭結(jié)點(diǎn)。 Time:2019/4/23Title: Reverse Linked ListDifficulty: EasyAuthor: 小鹿 題目:Reverse...

    zhangfaliang 評(píng)論0 收藏0
  • [Leetcode] Reverse Linked List 鏈表反轉(zhuǎn)(遞歸與非遞歸

    摘要:代碼描述調(diào)轉(zhuǎn)指針解法非遞歸用三個(gè)指針,緊緊相鄰,不斷前進(jìn),每次將指向,將指向指向。描述遞歸解法測(cè)試結(jié)果 Reverse a singly linked list. 代碼ReverseLinkedList.java package list; public class ReverseLinkedList { /** * 描述 Reverse a singly...

    RyanHoo 評(píng)論0 收藏0
  • Leetcode PHP題解--D78 206. Reverse Linked List

    摘要:題目鏈接題目分析給定一個(gè)鏈表,將其倒轉(zhuǎn)過來。思路我的思路是,把每一項(xiàng)存進(jìn)數(shù)組作為棧。遍歷完成后,再逐個(gè)彈出即可。最終代碼若覺得本文章對(duì)你有用,歡迎用愛發(fā)電資助。 D78 206. Reverse Linked List 題目鏈接 206. Reverse Linked List 題目分析 給定一個(gè)鏈表,將其倒轉(zhuǎn)過來。 思路 我的思路是,把每一項(xiàng)存進(jìn)數(shù)組作為棧。 遍歷完成后,再逐個(gè)彈出即...

    Rindia 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<