栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

算法打卡Day11

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法打卡Day11

当你攥紧拳头的时候,你手里可能是空空如也,除了手汗,什么也拿不到;但是当你摊开双手的时候,清风可以涌入你的怀中,阳光可以聚拢在你的手心,你拥有的,将是整个世界的美好与诗意。

Leetcode原题

206.反转链表

思路

这题听说还是字节、微软、美团阿里巴巴的热度题目。这题要求链表反转,也就是本来是前面指向后面的,现在要求后面的倒着指向前面.嗯,你是不是也想想会了,敲起了就不知道如何下手,没关系,我也是~~

迭代法

假设链表为 1—>2—>3.现在我们要改为3—>2—>1
在遍历链表时,将当前节点的 next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。
具体代码如下:

  public ListNode reverseList(ListNode head) {
        ListNode pre =null;
        ListNode curr= head;
        while(curr!=null){
            ListNode next= curr.next; //保留下一节点
            curr.next =pre; //当前节点指向前一个节点
            pre =curr; //前节点处理后,指针移动到当前节点
            curr = next;// 当前节点往后移动
        }
        return pre;
    }


另外一种递归的方法,我觉得比较复杂,不适合现在去了解。有兴趣的可以去看一下官网。提示

有兴趣的老爷,还可以关注我的公众号【一起收破烂】,回复【006】获取 最新java面试资料以及简历模型120套哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/843000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号