1. 程式人生 > >[Swift]LeetCode158. 用Read4來讀取N個字符II $ Read N Characters Given Read4 II

[Swift]LeetCode158. 用Read4來讀取N個字符II $ Read N Characters Given Read4 II

UNC all only 字符數 solution var hat span tip

The API: int read4(char *buf) reads 4 characters at a time from a file.

The return value is the actual number of characters read. For example, it returns 3 if there is only 3 characters left in the file.

By using the read4 API, implement the function int read(char *buf, int n) that reads n characters from the file.

Note:
The read function may be called multiple times.


API:int Read 4(char *BUF)每次從一個文件讀取4個字符。

返回值是讀取的實際字符數。例如,如果文件中只剩下3個字符,則返回3。

通過使用read4 API,實現從文件中讀取n個字符的int read(char*buf,int n)函數。

註:

讀取函數可以被多次調用。


 1 class Solution {
 2     var readPos:Int = 0
 3     var writePos:Int = 0
 4     var buff:[Character] = [Character](repeating:"
",count:4) 5 func read(_ buf:[Character],_ n:Int) -> Int { 6 var i:Int = 0 7 while (i < n && (readPos < writePos || (readPos = 0) < (writePos = read4(buff)))) 8 { 9 buf[i] = buff[readPos] 10 i += 1 11 readPos += 1
12 } 13 return i 14 } 15 }

[Swift]LeetCode158. 用Read4來讀取N個字符II $ Read N Characters Given Read4 II