题解 | #链表的奇偶重排#

import java.util.*;

/*

  • public class ListNode { //节点类
  • int val;
  • ListNode next = null;
  • public ListNode(int val) { //有参构造
  • this.val = val;
  • }
  • }
  • /

class Solution {
public ListNode oddEvenList(ListNode head) {
//边界条件, 头结点为空,或者头结点的下一个节点为空。
if (head == null || head.next == null) {
return head;
}
//偶数
ListNode evenHead = head.next;
ListNode odd = head, even = evenHead;
while (even != null && even.next != null) {
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
odd.next = evenHead;
return head;
}
}
import java.util.*;

/*

  • public class ListNode {
  • int val;
  • ListNode next = null;
  • public ListNode(int val) {
  • this.val = val;
  • }
  • }
  • /

class Solution {
public ListNode oddEvenList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
//偶数链表表头从head的下一个开始
ListNode evenHead = head.next;
//奇数链表表头从head开始
ListNode odd = head, even = evenHead;
//当偶数链表不为空且偶数链表的下一个数不为空时进入循环
while (even != null && even.next != null) {
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
//将维护好的偶数链表表头赋值给奇数链表的最后一个节点值的下一个。
odd.next = evenHead;
return head;
}
}

全部评论

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
12-11 14:24
门头沟学院 Java
牛客35720396...:不要用boss,全是骗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务