public class Solution extends Reader4 {
public int read(char[] buf, int n) {
for(int i = 0; i < n; i += 4){
char[] tmp = new char[4];
// 将数据读入临时数组
int len = read4(tmp);
// 将临时数组拷贝至buf数组,这里拷贝的长度是本次读到的个数和剩余所需个数中较小的
System.arraycopy(tmp, 0, buf, i, Math.min(len, n - i));
// 如果读不满4个,说明已经读完了,返回总所需长度和目前已经读到的长度的较小的
if(len < 4) return Math.min(i + len, n);
}
// 如果循环内没有返回,说明读取的字符是4的倍数
return n;
}
}
用Read4 读取 N 个字符 - 力扣(LeetCode)
最新推荐文章于 2024-10-24 11:04:23 发布
本文介绍了一个Java类——Solution,它继承自Reader4,主要用于读取字符数据。核心方法read(char[] buf, int n)实现了从输入流中读取n个字符到指定的字符数组buf中。通过循环和read4方法,该类能够高效地处理字符读取任务,尤其当读取的字符数为4的倍数时,表现更佳。
381

被折叠的 条评论
为什么被折叠?



