Skip to content

Commit 41760dc

Browse files
committed
feat: update solutions to lcof problems
- 面试题21. 调整数组顺序使奇数位于偶数前面 - 面试题57. 和为s的两个数字 - 面试题58 - I. 翻转单词顺序
1 parent edb3093 commit 41760dc

File tree

5 files changed

+51
-10
lines changed

5 files changed

+51
-10
lines changed

lcof/面试题21. 调整数组顺序使奇数位于偶数前面/README.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,8 @@ impl Solution {
170170
let mut l = 0;
171171
let mut r = nums.len() - 1;
172172
while l < r {
173-
let num = nums[l];
174-
if num % 2 == 0 {
175-
nums[l] = nums[r];
176-
nums[r] = num;
173+
if nums[l] % 2 == 0 {
174+
nums.swap(l, r);
177175
r -= 1;
178176
} else {
179177
l += 1;

lcof/面试题21. 调整数组顺序使奇数位于偶数前面/Solution.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ impl Solution {
66
let mut l = 0;
77
let mut r = nums.len() - 1;
88
while l < r {
9-
let num = nums[l];
10-
if num % 2 == 0 {
11-
nums[l] = nums[r];
12-
nums[r] = num;
9+
if nums[l] % 2 == 0 {
10+
nums.swap(l, r);
1311
r -= 1;
1412
} else {
1513
l += 1;

lcof/面试题57. 和为s的两个数字/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
- 存在,即 `return` 返回。
3737
- 不存在,记录元素,继续遍历。
3838

39-
_复杂度_
39+
*复杂度*
4040

4141
- 时间 **_O(N)_**
4242
- 空间 **_O(N)_**
@@ -52,7 +52,7 @@ _复杂度_:
5252

5353
> 因为数组是有序的,指针变动对值的影响可预测。
5454
55-
_复杂度_
55+
*复杂度*
5656

5757
- 时间 **_O(N)_**
5858
- 空间 **_O(1)_**

lcof/面试题58 - I. 翻转单词顺序/README.md

+25
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,31 @@ class Solution {
7979
}
8080
```
8181

82+
### **C++**
83+
84+
```cpp
85+
class Solution {
86+
public:
87+
string reverseWords(string s) {
88+
string res;
89+
int i = s.size() - 1;
90+
while (i >= 0) {
91+
if (s[i] == ' ') {
92+
i--;
93+
} else {
94+
int j = i;
95+
while (i >= 0 && s[i] != ' ') {
96+
i--;
97+
}
98+
res += s.substr(i + 1, j - i);
99+
res.push_back(' ');
100+
}
101+
}
102+
return res.substr(0, res.size() - 1);
103+
}
104+
};
105+
```
106+
82107
### **JavaScript**
83108
84109
```js
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution {
2+
public:
3+
string reverseWords(string s) {
4+
string res;
5+
int i = s.size() - 1;
6+
while (i >= 0) {
7+
if (s[i] == ' ') {
8+
i--;
9+
} else {
10+
int j = i;
11+
while (i >= 0 && s[i] != ' ') {
12+
i--;
13+
}
14+
res += s.substr(i + 1, j - i);
15+
res.push_back(' ');
16+
}
17+
}
18+
return res.substr(0, res.size() - 1);
19+
}
20+
};

0 commit comments

Comments
 (0)