2016 - 2024

感恩一路有你

Java实现链表奇偶位置节点分开为两个链表

浏览量:2903 时间:2024-01-31 11:14:14 作者:采采

首先,我们需要声明一个链表节点类,用于构建一条链表。这个节点类包含两个属性:节点的值和下一个节点的引用。

```java

public class ListNode {

int val;

ListNode next;

public ListNode(int val) {

val;

}

}

```

接下来,我们需要实现一个算法,将给定链表中的奇数位置节点和偶数位置节点分开,并连接成两个子链表,最后将两个子链表连接起来返回。

```java

public class Solution {

public ListNode separateOddEvenNodes(ListNode head) {

if (head null || null) {

return head;

}

ListNode oddHead head;

ListNode evenHead ;

ListNode odd oddHead;

ListNode even evenHead;

while (even ! null ! null) {

;

odd ;

;

even ;

}

evenHead;

return oddHead;

}

}

```

然后,我们还需要编写一个方法来输出一个链表的结构,方便测试结果。

```java

public class Solution {

// ...

public void printList(ListNode head) {

ListNode current head;

while (current ! null) {

( " ");

current ;

}

();

}

}

```

现在,我们可以构建一条链表作为测试用例,先输出链表的结构,然后调用上述方法处理链表,将结果再次输出。

```java

public class Main {

public static void main(String[] args) {

Solution solution new Solution();

// 构建测试用例链表 1->2->3->4->5

ListNode head new ListNode(1);

new ListNode(2);

new ListNode(3);

new ListNode(4);

new ListNode(5);

("原始链表:");

(head);

ListNode result (head);

("处理后的链表:");

(result);

}

}

```

运行测试方法,观察输出结果是否符合预期。

最后,在合适的平台上提交我们的算法代码,并进行测试通过。

这样,我们就成功实现了Java中将链表奇偶位置节点分开为两个链表的算法。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。