zoukankan      html  css  js  c++  java
  • Leecode no.206 反转链表

    package leecode;

    /**
    * 206. 反转链表
    * 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
    *
    * @author Tang
    * @date 2021/11/5
    */
    public class ReverseList {


    /**
    * 方法二:递归
    *
    * @param head
    * @return
    */
    public ListNode reverseList(ListNode head) {
    if(head == null) {
    return null;
    }
    return recurrence(head, null);

    }

    /**
    *
    * @param node 当前要调整的节点
    * @param last 调整后的下一个节点
    * @return
    */
    private ListNode recurrence(ListNode node, ListNode last) {
    //调整前的下一个节点
    ListNode temp = node.next;

    node.next = last;
    if(temp != null) {

    last = node;
    node = temp;
    return recurrence(node, last);
    }
    return node;
    }


    /**
    * 方法一: 迭代
    *
    * @param head
    * @return
    */
    // public ListNode reverseList(ListNode head) {
    // if(head == null) {
    // return null;
    // }
    //
    // //作为调整后的head.next指针
    // ListNode last = null;
    // //作为调整前的head的next指针
    // ListNode temp = null;
    // while(head.next != null) {
    // temp = head.next;
    // head.next = last;
    //
    // last = head;
    // head = temp;
    // }
    // head.next = last;
    // return head;
    // }





    public static void main(String[] args) {
    ListNode l1 = new ListNode();
    l1.val = 1;
    ListNode l2 = new ListNode();
    l2.val = 2;
    ListNode l3 = new ListNode();
    l3.val = 3;
    l1.next = l2;
    l2.next = l3;


    new ReverseList().reverseList(l1);



    }

    }
  • 相关阅读:
    小波变换的引入,通俗易懂
    Leetcode 437. Path Sum III
    Leetcode 113. Path Sum II
    Leetcode 112 Path Sum
    Leetcode 520 Detect Capital
    Leetcode 443 String Compression
    Leetcode 38 Count and Say
    python中的生成器(generator)总结
    python的random模块及加权随机算法的python实现
    leetcode 24. Swap Nodes in Pairs(链表)
  • 原文地址:https://www.cnblogs.com/ttaall/p/15512106.html
Copyright © 2011-2022 走看看