首页 > 试题广场 >

编程实现单链表的逆转函数

[编程题]编程实现单链表的逆转函数
  • 热度指数:5146 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
实现单链表的逆转函数,输入一个链表,反转链表后,返回翻转之后的链表。

说明:本题目包含复杂数据结构ListNode,点此查看相关信息
public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode temp=null;
        ListNode pre=null;
        
        while(head!=null){
            temp=head.next;
            head.next=pre;
            pre=head;
            head = temp;
        }
        return pre;
    }
}

发表于 2021-09-04 22:48:48 回复(0)
public class Solution {
    ListNode root, tp = new ListNode(0);
    public ListNode ReverseList(ListNode head) {
        root = tp;
        dfs(head);
        tp.next = null;
        return root.next;
    }
    public void dfs(ListNode head) {
        if(head != null) {
            dfs(head.next);
            tp.next = head;
            tp = tp.next;
        }
    }
}

发表于 2020-03-13 20:48:18 回复(0)
public ListNode ReverseList(ListNode head) {
    if (head == null || head.next == null) return head;
    ListNode pre = null, next = null;
    while (head.next != null) {
        next = head.next;
        head.next = pre;
        pre = head;
        head = next;
    }
    head.next = pre;
    return head;
}

发表于 2019-10-05 19:52:29 回复(0)
 public ListNode ReverseList(ListNode head) {
        if(head == null||head.next == null) return head;
        ListNode pre = null;
        ListNode cur = head;
        while(head!=null){
            cur = head;
            head = head.next;
            cur.next = pre;
            pre = cur;
        }
        return pre;
    }
迭代法,很简单
发表于 2019-07-07 20:49:52 回复(0)
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head == null)
            return null;
        
        ListNode pre = null;
        ListNode next;
        
        while(head != null){
            next = head.next;
            
            head.next = pre;
            pre = head;
            head = next;
            
        }
        
        return pre;
    }
}

编辑于 2017-09-07 16:15:35 回复(2)