mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Merge branch 'youngyangyang04:master' into master
This commit is contained in:
@ -260,7 +260,7 @@ class Solution {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//每次迭代获取一个字符串,所以会设计大量的字符串拼接,所以这里选择更为高效的 StringBuilder
|
//每次迭代获取一个字符串,所以会涉及大量的字符串拼接,所以这里选择更为高效的 StringBuilder
|
||||||
StringBuilder temp = new StringBuilder();
|
StringBuilder temp = new StringBuilder();
|
||||||
|
|
||||||
//比如digits如果为"23",num 为0,则str表示2对应的 abc
|
//比如digits如果为"23",num 为0,则str表示2对应的 abc
|
||||||
@ -274,7 +274,7 @@ class Solution {
|
|||||||
String str = numString[digits.charAt(num) - '0'];
|
String str = numString[digits.charAt(num) - '0'];
|
||||||
for (int i = 0; i < str.length(); i++) {
|
for (int i = 0; i < str.length(); i++) {
|
||||||
temp.append(str.charAt(i));
|
temp.append(str.charAt(i));
|
||||||
//c
|
//递归,处理下一层
|
||||||
backTracking(digits, numString, num + 1);
|
backTracking(digits, numString, num + 1);
|
||||||
//剔除末尾的继续尝试
|
//剔除末尾的继续尝试
|
||||||
temp.deleteCharAt(temp.length() - 1);
|
temp.deleteCharAt(temp.length() - 1);
|
||||||
|
@ -314,17 +314,17 @@ func searchInsert(nums []int, target int) int {
|
|||||||
```rust
|
```rust
|
||||||
impl Solution {
|
impl Solution {
|
||||||
pub fn search_insert(nums: Vec<i32>, target: i32) -> i32 {
|
pub fn search_insert(nums: Vec<i32>, target: i32) -> i32 {
|
||||||
let mut left = 0;
|
use std::cmp::Ordering::{Equal, Greater, Less};
|
||||||
let mut right = nums.len();
|
let (mut left, mut right) = (0, nums.len() as i32 - 1);
|
||||||
while left < right {
|
while left <= right {
|
||||||
let mid = (left + right) / 2;
|
let mid = (left + right) / 2;
|
||||||
match nums[mid].cmp(&target) {
|
match nums[mid as usize].cmp(&target) {
|
||||||
Ordering::Less => left = mid + 1,
|
Less => left = mid + 1,
|
||||||
Ordering::Equal => return ((left + right) / 2) as i32,
|
Equal => return mid,
|
||||||
Ordering::Greater => right = mid,
|
Greater => right = mid - 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
((left + right) / 2) as i32
|
right + 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -585,7 +585,7 @@ impl Solution {
|
|||||||
let mut dummyHead = Box::new(ListNode::new(0));
|
let mut dummyHead = Box::new(ListNode::new(0));
|
||||||
dummyHead.next = head;
|
dummyHead.next = head;
|
||||||
let mut cur = dummyHead.as_mut();
|
let mut cur = dummyHead.as_mut();
|
||||||
// 使用take()替换std::men::replace(&mut node.next, None)达到相同的效果,并且更普遍易读
|
// 使用take()替换std::mem::replace(&mut node.next, None)达到相同的效果,并且更普遍易读
|
||||||
while let Some(nxt) = cur.next.take() {
|
while let Some(nxt) = cur.next.take() {
|
||||||
if nxt.val == val {
|
if nxt.val == val {
|
||||||
cur.next = nxt.next;
|
cur.next = nxt.next;
|
||||||
|
Reference in New Issue
Block a user