leetcode-725. 分隔链表
时间:2021-09-22
本文章向大家介绍leetcode-725. 分隔链表,主要包括leetcode-725. 分隔链表使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: int getlistlen(ListNode* head){ int n = 0; if(head==NULL) return n; while(head){ n++; head = head->next; } return n; } vector<ListNode*> splitListToParts(ListNode* head, int k) { vector<ListNode*> res; int len = getlistlen(head); // cout<<"len:"<<len<<endl; int n = len/k; int m = len%k; vector<int> lenlist(k,n); // 初始化有k个段落,每个段落的长度为n for(int i = 0; i < m; i++) // 将多余的平均分配到前面的每个段落上面 lenlist[i]++; for(auto i:lenlist) cout<<i<<endl; ListNode* p = head; // p设为每个段落的起点 ListNode* q = head; // q遍历数组 int i = 0; while(i<lenlist.size()){ int cnt = 1; while(cnt<lenlist[i]&&q){ q = q->next; cnt++; } ListNode* tmp = q; // 保存每个段落的最后一个节点,将末尾指向NULL if(q!=NULL) q = q->next; // 将q指向下一个段落的信起点 if(tmp!=NULL) tmp->next = NULL; res.push_back(p); // 将段落的加入 p = q; // 更新下一个段落的起点 i++; // 更新下一个数组的长度 } return res; } };
原文地址:https://www.cnblogs.com/ymec/p/15319739.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 利用lynis如何进行linux漏洞扫描详解
- Linux shell命令用法及常见用例之tar命令
- Linux 下解压 rar 文件的方法
- Redis数据结构-压缩列表
- HTTP文件缓存判断流程
- Linux系统 为命令配置别名的方法
- Redis数据结构-跳跃表
- Canvas系列(10):动画初级
- Canvas系列(5):绘制文字
- 详解Keepalived安装与配置
- Redis数据结构-字典
- 编程体系结构(07):JavaEE之Web开发
- Centos 6.5环境实现本地局域网搭建YUM的方法【基于HTTP】
- Doug Lea在J.U.C包里面写的BUG又被网友发现了。
- CentOs 7.*中配置安装phpMyAdmin的完整步骤记录