【Java】以给定值x为基准将链表分割成两部分,所有小于x的结点排

编写代码,,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于等于x的结点之前

可以用两个链表,一个存储小于x的结点,一个存储大于等于x的结点,然后将两个链表合并到一起

import java.util.*;public class partition {public LinkedList Partition(LinkedList node, int x){LinkedList beforStart = null;LinkedList beforeEnd = null;LinkedList afterStart = null;LinkedList afterEnd = null;while(node != null){LinkedList next = node.next;node.next = null;if(node.data < x){if(null == beforeStart){beforeStart = node;beforeEnd = beforeStart;}else {beforeEnd.next = node;beforeEnd = node;}}else {if (null == afterStart) {afterStart = node;afterEnd = afterStart;}else {afterEnd.next = node;afterEnd = node;}}node = next;}if (null == beforeStart) return afterStart;beforeEnd.next = afterStart;return beforeStart;}}这段代码有什么问题?

版权声明:本文为博主原创文章,未经博主允许不得转载。

志在山顶的人,不会贪念山腰的风景。

【Java】以给定值x为基准将链表分割成两部分,所有小于x的结点排

相关文章:

你感兴趣的文章:

标签云: