《剑指offer》链表分割
题目:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前
给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。
解析:创建两个list分别为A、B,其中A存小于x的值的集合,B存大于等于x的值的集合,然后合并集合A、B,最后就是创建单链表返回了
import java.util.*;/*
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/
public class Partition {public ListNode partition(ListNode pHead, int x) {ListNode head=null;ListNode p=pHead;List<Integer> list1 = new ArrayList<Integer>();//存小于x值List<Integer> list2 = new ArrayList<Integer>();//存取大于等于x的值while(p!=null){if(p.val<x){list1.add(p.val);}if(p.val>=x){ //将大于等于x的值放在list2list2.add(p.val);}p=p.next;}list1.addAll(list2);//将list2的数据合并到list1head = new ListNode(list1.get(0));//注意:头节点带有值for(int i=list1.size()-1;i>=1;i--){//头插法创建单链表返回即可ListNode q= new ListNode(list1.get(i));q.next=head.next;head.next=q;}return head;}
}
《剑指offer》链表分割相关推荐
- 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...
点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...
- 划水总结剑指offer 链表系列1
最近在找实习,发现面试题和oj的题差距蛮大的,然后粗略的刷了一遍剑指offer.希望6月中旬前能拿个实习(捂脸哭) 1.首先总结关于链表的题. (1)从尾到头打印一个链表.像我这样的憨憨上来就想 这不 ...
- 剑指 offer 链表倒数的第k个数
快慢指针 快指针线遍历到第k-1个数,然后慢指针在从头开始遍历,这样快慢指针有k-1个间隔,当快指针到链表末尾时,慢指针指的数就是倒数第k个数. public class Solution { ...
- 剑指Offer——链表中倒数第K个节点
1.题目描述 输入一个链表,输出该链表中倒数第k个结点. 2.代码实现 package com.baozi.offer;/*** @author BaoZi* @create 2019-07-11-1 ...
- 剑指offer 链表中倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 解决方案: public class Solution {public ListNode FindKthToTail(ListNode head, ...
- python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的 ...
- 剑指Offer——链表中环的入口结点
题目描述: 一个链表中包含环,请找出该链表的环的入口结点. 分析: 设置两个指针p1,p2, 两个指针都从链表的头部开始走,不过p1每次走一步,p2每次走两步. 直到相遇的时候,p2走的长度是p1的两 ...
- Java解析剑指Offer链表篇(1)
目录 一.移除链表元素 1.题目要求 2.基本思路 3.代码演示 二.反转链表 1.题目要求 2.基本思路 3.代码实现 三.链表的中间结点 1.题目要求 2.基本思路 3.代码实现 四.链表中倒数第 ...
- LeetCode 21.23.剑指 Offer II 078. 合并两个有序链表 | C语言版
LeetCode 21. 合并两个有序链表 | C语言版 LeetCode 21. 合并两个有序链表 题目描述 解题思路 思路一:使用栈 代码实现 运行结果 参考文章: 思路二:减少遍历节点数 代码实 ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
最新文章
- java结束全部操作代码_Java创建与结束线程代码示例
- springcloud 组件_SpringCloud组件mica 2.0.5发布,添加对sentinel、undertow指标收集
- LBS将使品牌口碑更真实
- 线上慢查询?试试这几个优化思路!
- 一张图看懂Bean的实例化过程
- 前端学习(2943):vue结合bs搭建首页
- java 登录拦截器_springMVC 拦截器-用户登录拦截实战
- PostgreSQL PostGIS 的5种空间距离排序(knn)算法
- springboot python整合_SpringCloud 整合 Python - Flask
- SpringMVC处理Json、文件上传、拦截器
- 【数据结构和算法笔记】用并查集求解等价关系
- 利用最新的开源软件构建日志管理系统
- c语言程序设计967,2017年湖南师范大学数学与计算机科学学院967C语言程序设计和数据结构[专业硕士]之C程序设计考研仿真模拟题...
- C语言函数调用的方式求两个数的大小
- 度假村酒店官方网站模板里面包含7个子页面,适合酒店住宿网站模板下载
- 编译原理(第3版) 清华大学出版社 黄贤英等人著作 部分课后习题答案
- 联想教育应用使用说明(7.6版本)——第4章 网络控制工具的使用
- php怎样转换jpg,php pdf如何转jpg
- 指纹识别 matlab
- 蓝桥杯单片机(十二)PCF8591(D/A转换)
热门文章
- 一张图get jQuery所有方法
- L1-010 比较大小(8行代码AC!!!)
- yy直播没声音html,驱动技巧:解决YY语音中麦克风无声或者有噪音的问题
- 虚拟Web主机(基于域名配置,基于ip地址,基于端口)
- Linux网络DNS分离解析
- shell脚本详解(二)——条件测试、if语句和case分支语句
- linux笔记之 rpm常用参数 ,yum安装编译器,httpd服务的开关
- Java与C底层数据类型转换
- 计算机 留学推荐信,计算机专业留学推荐信范文
- php php_zip.dll,PHP如何开启自带的ZipArchive类,实现压缩解压功能