zoukankan      html  css  js  c++  java
  • 剑指 Offer 24. 反转链表

    地址 https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/

    定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
    
    
    示例:
    输入: 1->2->3->4->5->NULL
    输出: 5->4->3->2->1->NULL
     
    
    限制:
    0 <= 节点个数 <= 5000

    解答

    使用的递归解决该问题

    class Solution {
    public:
        ListNode* newH; 
        ListNode* newT;
        void DFS(ListNode* head )
        {
            if (head->next == NULL) {
                newH = head; newT = head; return;
            }
    
            ListNode* p = head;
            DFS(head->next);
    
            newT->next = p;
            newT = p;
            p->next = NULL;
    
            return;
        }
    
        ListNode* reverseList(ListNode* head) {
            if (head == NULL ) return head;
            if (head->next == NULL) return head;
            newH = NULL; newT = NULL;
            DFS(head);
    
            return newH;
        }
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    洛谷P1908《逆序对》
    洛谷P3884《[JLOI2009]二叉树问题》
    最近公共祖先 LCA
    洛谷P1531《I Hate It》
    洛谷P1563「NOIP2016」《玩具谜题》
    乘法逆元求法
    CF56E 【Domino Principle】
    CF638C 【Road Improvement】
    Luogu
    2018.8.7提高B组模拟考试
  • 原文地址:https://www.cnblogs.com/itdef/p/14382148.html
Copyright © 2011-2022 走看看