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

每日一题:力扣328. 奇偶链表

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

每日一题:力扣328. 奇偶链表

 博客主页:to Keep博客主页
欢迎关注,点赞,留言评论
⏳首发时间:2022年2月3日
 博主码云地址:博主码云地址
参考书籍:java核心技术 卷1
编程练习:牛客网+力扣网
由于博主目前也是处于一个学习的状态,如有讲的不对的地方,请一定联系我予以改正!!!

文章目录

题目描述解题思路代码解题OJ链接题后总结

题目描述

给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。
例如:

解题思路

本题可以通过遍历一遍链表,把索引为奇偶数的分成两个链表,在将两个链表拼接起来,就可以实现我们要达到的效果。

代码解题
    public ListNode oddEvenList(ListNode head) {
        //节点为空,直接返回
        if(head==null)return null;
        ListNode pre = head;//利用pre去串索引为奇数的
        ListNode cur = head.next;//利用cur去串索引为偶数的
        ListNode tmp = cur;//记录下偶数时的头结点
        while(cur!=null&&cur.next!=null){//遍历链表
            pre.next = cur.next;
            pre=pre.next;
            cur.next=pre.next;
            cur=cur.next;
        }
        pre.next=tmp;//将两个链表拼接
        return head;
    }
OJ链接 题后总结

本题并不算的上是难的,主要关键在于是否想到先将一个链表分成两个链表,在将两个链表合并成为一个链表,最后解题成功!

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

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

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