📘 博客主页:to Keep博客主页 🙆欢迎关注,👍点赞,📝留言评论 ?首发时间:2022年2月3日 📨 博主码云地址:博主码云地址 📕参考书籍:java核心技术 卷1 📢编程练习:牛客网+力扣网 由于博主目前也是处于一个学习的状态,如有讲的不对的地方,请一定联系我予以改正!!!
题目描述
给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 例如:
解题思路
本题可以通过遍历一遍链表,把索引为奇偶数的分成两个链表,在将两个链表拼接起来,就可以实现我们要达到的效果。
代码解题
public ListNode oddEvenList(ListNode head) {
if(head==null)return null;
ListNode pre = head;
ListNode cur = head.next;
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;
}
题后总结
本题并不算的上是难的,主要关键在于是否想到先将一个链表分成两个链表,在将两个链表合并成为一个链表,最后解题成功!
|