首页 > 其他分享 >【剑指Offer】15、反转链表

【剑指Offer】15、反转链表

时间:2023-08-29 23:46:47浏览次数:39  
标签:head ListNode Offer next 链表 second 15 null

【剑指Offer】15、反转链表

题目描述:

输入一个链表,反转链表后,输出新链表的表头。

解题思路:

本题比较简单,有两种方法可以实现:(1)三指针。使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。将指针反转后,三个结点依次前移即可。(2)递归方法。同样可以采用递归来实现反转。将头结点之后的链表反转后,再将头结点接到尾部即可。

编程实现(Java):

    //方法一:三指针
    public ListNode ReverseList(ListNode head) {
        if(head==null)
            return null;
        ListNode first=null; 
        ListNode second=head;
        ListNode third=head.next;
        while(third!=null){ 
            second.next=first; //三指针之间的变换
            first=second;
            second=third;
            third=third.next;
        }
        second.next=first;
        return second;
    }

    //方法二:递归
    public ListNode ReverseList(ListNode head) {
    	 if(head==null||head.next==null)
            return head;
        ListNode temp=ReverseList(head.next);
        head.next.next=head;
        head.next=null;
        return temp;   
    }

标签:head,ListNode,Offer,next,链表,second,15,null
From: https://www.cnblogs.com/bujidao1128/p/17666140.html

相关文章

  • [CF1518D] XOR Counting
    XORCounting由于a可以为非负整数并且不关心a的具体数值,所以m大了后填很多0即可。分类讨论。m=1时直接输出n即可。m>=3时,注意到xor运算与加运算同奇偶,所以a只能异或出来与n同奇偶的数。可以构造出\(a_1=x,a_2=\frac{n-x}{2},a_3=\frac{n-x}{2},a_4=0,a......
  • 剑指 Offer 16. 数值的整数次方
    根本思想就是二进制能够表示任意类型的数。classSolution{public:doublemyPow(doublex,intn){//为了防止判断n为负数取反时造成溢出//用longlong类型接收longlongN=n;//记录N是否是负数intflag=0;......
  • 剑指 Offer 60. n个骰子的点数(中等)
    题目:classSolution{public:vector<double>dicesProbability(intn){vector<double>dp(6,1.0/6.0);//dp[j]表示和为j时的概率,这里j=6是因为这是第一个骰子,骰子增多j也会改变for(inti=2;i<=n;i++){//从第二个骰子开始计算dp[j]的概率......
  • 24届的Offer,都谁拿了?
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!都说24届是简单的一届,不知在座各位有没有这样的体会呢?8月末,你拿到offer了吗?进入8月底,相信24届同学有一定的紧迫感了,晒Offer的大军中不知道有没有你的身影?这个时候,许多......
  • 剑指Offer 35. 复杂链表的复制
    题目链接:剑指Offer35.复杂链表的复制题目描述:请实现copyRandomList函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。解法思路:遍历整个链表,在每个节点的后面,插入一个当前节点的复制,......
  • 提示学习方法-AI基础系列文章第15篇
            使用生成式AI解决问题的学习提示法是一个在生成式AI领域解决问题的框架。它可以帮助你决定生成式AI是否是正确的解决方案,如何应用提示工程,选择什么工具等等。我们将逐一介绍这五个步骤,然后提供一个使用这种方法的案例研究。五个步骤陈述你的问题学习提示法的第一步......
  • Chrome版本在115及以上ChromeDriver下载地址
    原地址:http://chromedriver.storage.googleapis.com/index.html中看到最新驱动版本为114,而Chrome的版本已经到116,使用驱动为114会报版本不匹配的错误解决方法:115及以上版本下载地址:https://googlechromelabs.github.io/chrome-for-testing/驱动下载地址中提示115及以上在另......
  • HashMap链表树化究竟是怎样的?
    网上一直看到两种说法:1.数组长度大于64且当链表长度>8时,链表转换为红黑树;2.数组长度大于64且当链表长度≥8时,链表转换为红黑树。 上源码,主要是putVal()函数/***ImplementsMap.putandrelatedmethods.**@paramhashhashforkey*@paramkeythekey*@par......
  • 网工内推 | IT网工,华为、华三认证优先,15k*13薪
    01广东善能科技发展股份有限公司招聘岗位:IT网络工程师职责描述:1、负责公司项目售后技术支持工作;2、负责项目交付实施,配置调试、运维等;3、参加合作厂商产品技术知识培训;4、参加合作厂商工程师认证考试;任职要求:1、大专及以上学历,计算机、网络、通信等理工类专业优先;2、具备HCIA或HCI......
  • 015-管理后台框架布局搭建
    1.功能分析管理后台我们先看下大体页面布局如下包含左侧菜单栏,头部导航栏,tab窗体,还有内容显示区域,以及页脚.2.基本实现2.1.文件引入2.2.页面引入引入hplus下的index.html2.3.页面调整我们需要对css,js等做调整,可以使用thymeleaf方式引入<!--css相关调整--><linkrel="sho......