描述
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。
在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。
注意:
假设字符串的长度不会超过 1010。
示例 :
输入:
“abccccdd”
输出:
7
解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
代码
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
// 初始化
int index = m + n - 1;
m--;
n--;
// 合并
while(m >= 0 && n >= 0){
nums1[index--] = nums1[m] > nums2[n] ? nums1[m--]: nums2[n--];
}
// 兜底 当 m = 0
System.arraycopy(nums2, 0, nums1, 0, n + 1);
}
}