Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions problems/0151.翻转字符串里的单词.md
Original file line number Diff line number Diff line change
Expand Up @@ -547,26 +547,28 @@ func reverseWords(s string) string {
b = b[:slowIndex]
}
//2.反转整个字符串
reverse(&b, 0, len(b)-1)
reverse(b)
//3.反转单个单词 i单词开始位置,j单词结束位置
i := 0
for i < len(b) {
j := i
for ; j < len(b) && b[j] != ' '; j++ {
}
reverse(&b, i, j-1)
reverse(b[i:j])
i = j
i++
}
return string(b)
}

func reverse(b *[]byte, left, right int) {
for left < right {
(*b)[left], (*b)[right] = (*b)[right], (*b)[left]
left++
right--
}
func reverse(b []byte) {
left := 0
right := len(b) - 1
for left < right {
b[left], b[right] = b[right], b[left]
left++
right--
}
}
```

Expand Down
48 changes: 48 additions & 0 deletions problems/0704.二分查找.md
Original file line number Diff line number Diff line change
Expand Up @@ -760,8 +760,56 @@ object Solution {
}
}
```
**Dart:**



```dart
(版本一)左闭右闭区间
class Solution {
int search(List<int> nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int middle = ((left + right)/2).truncate();
switch (nums[middle].compareTo(target)) {
case 1:
right = middle - 1;
continue;
case -1:
left = middle + 1;
continue;
default:
return middle;
}
}
return -1;
}
}

(版本二)左闭右开区间
class Solution {
int search(List<int> nums, int target) {
int left = 0;
int right = nums.length;
while (left < right) {
int middle = left + ((right - left) >> 1);
switch (nums[middle].compareTo(target)) {
case 1:
right = middle;
continue;
case -1:
left = middle + 1;
continue;
default:
return middle;
}
}
return -1;
}
}
```

<p align="center">
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
Expand Down