博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 链表 Partition List
阅读量:7081 次
发布时间:2019-06-28

本文共 879 字,大约阅读时间需要 2 分钟。

Partition List

 
Total Accepted: 19761 
Total Submissions: 73252

Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.

You should preserve the original relative order of the nodes in each of the two partitions.

For example,

Given 1->4->3->2->5->2 and x = 3,
return 1->2->2->4->3->5.

题意:依据给定值x划分链表。使得比x小的值排在前面。要求保持元素原先的相对位置。

思路:
维护两个链表,一个是比x小的节点的链表l1,还有一个是大于等于x的节点的链表l2
最后把l1的尾部接到l2的头部
复杂度:时间O(n)。空间O(1)

ListNode *partition(ListNode *head, int x) {	ListNode less(-1), larger_equal(-1);	ListNode *less_ptr = &less, *larger_equal_ptr = &larger_equal;	for (ListNode *cur = head; cur != NULL; cur = cur->next)	{		if(cur->val < x){			less_ptr = less_ptr->next = cur;		}else{			larger_equal_ptr = larger_equal_ptr->next = cur;		}	}	less_ptr->next = larger_equal.next;	larger_equal_ptr->next = NULL;	return less.next;}

转载地址:http://rilml.baihongyu.com/

你可能感兴趣的文章
数学之美读书笔记一如何度量查询关键字和网页的相关性(逆文本频率指数)...
查看>>
MySQL慢查询日志总结
查看>>
Ubuntu Apache配置及开启mod_rewrite模块
查看>>
java对象与map对象相互转换
查看>>
安装mongoDB遇见的一个路径问题
查看>>
[每天五分钟,备战架构师-5]操作系统之文件管理
查看>>
动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)
查看>>
LeetCode_832. Flipping an Image_Solution
查看>>
3.python词云图的生成
查看>>
npm依赖管理:冗余,依赖树
查看>>
pygame 笔记-2 模仿超级玛丽的弹跳
查看>>
[转] 一个iOS开发者的修真之路
查看>>
设置VSS使支持通过Internet访问
查看>>
进程和线程
查看>>
品牌创新是产品差异化的终极壁垒(Strategic brand management )
查看>>
今天没事,看到一个用C#开发OutLook插件的例子,顺便自己做了一个
查看>>
vue2.0---vue-router总结(项目基于vue-cli)
查看>>
Web Service 简单应用,创建及调用过程(图文)
查看>>
程序命名的一些提示(转)
查看>>
孙鑫vc++教程(经典教学视频)
查看>>