2697. 字典序最小回文串

2697. 字典序最小回文串

解法一: go 双指针

go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
func makeSmallestPalindrome(s string) string {
bytes := []byte(s)
left := 0
right := len(s) - 1
for left < right {
if bytes[left] <= bytes[right] {
bytes[right] = bytes[left]
} else {
bytes[left] = bytes[right]
}
left++
right--
}
return string(bytes)
}

解法二: java 一行代码

java
1
2
3
4
5
6
7
class Solution {
public String makeSmallestPalindrome(String s) {
return IntStream.range(0, s.length())
.mapToObj(i -> String.valueOf((char) Math.min(s.charAt(i), s.charAt(s.length() - i - 1))))
.collect(Collectors.joining());
}
}
作者

wuhunyu

发布于

2023-12-13

更新于

2023-12-13

许可协议