【Java】以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于等于x的结点之前
来源:互联网 发布:centos 6.8 内核版本 编辑:程序博客网 时间:2024/05/03 10:56
编写代码,以给定值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;}}这段代码有什么问题?
0 0
- 【Java】以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于等于x的结点之前
- 9.2链表(四)——以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的节点之前
- 链表分割 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以
- 值x将链表划分为两部分,小于x的结点排在大于或等于x 的结点之前
- 面试11之以给定值x为基准将链表分割成两部分
- 程序员面试金典: 9.2链表 2.4以给定值x为基准将链表分割成两部分
- 程序员面试金典2.4:给定值x为基准将链表分割成两部分
- 给定一个链表和一个值x,对它进行分区,使得小于x的所有节点都在大于或等于x的节点之前.保留两个分区中的每一个节点的原始相对顺序。
- 在二叉树中找值为x的结点(假设所有结点的值都不一样)
- 在二叉树中找值为x的结点(假设所有结点的值都不一样)
- 以指针和引用两种参数实现删除单链表L中所有值为X的结点的函数
- 2.2删除带头结点的L中所有值为x的结点
- 设计一个递归算法,删除不带头结点的单链表中所有值为x的结点
- 项目一--删除结点值为X的结点
- 头插法,尾插法,创建单链表,然后删除所有结点值为x的结点
- 二叉树中查找值为x的结点,打印x结点的全部祖先
- 程序员面试金典(5)以值x分割链表,小的在前面,大于等于的在后面
- 求二叉树中以x为值的根结点的子树的深度
- 有道词典Demo(WebView)
- UIScrollView/滚动视图&&UIPageControl/指示行点
- 整数排序
- 关于ScheduledExecutorService执行一段时间之后就不执行的问题
- ArcGIS Engine 10.0版本如何打开10.1、10.2版本
- 【Java】以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于等于x的结点之前
- PCL点云库(Point Cloud Library
- 基于分区表的物化视图快速刷新以及维护
- mysql集群+复制
- 查找组成一个偶数最接近的两个素数
- mfc添加右击事件popmenu
- IOS横向菜单(TopBar Menu)代码示例 - XNScrollTopBar
- UGUI Screen Space-Camera 模式 中 Animation 出现的Bug
- Linux软件源码编译安装