680. 验证回文字符串 Ⅱ
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。
示例 1:
输入: "aba"
输出: True
示例 2:
输入: "abca"
输出: True
解释: 你可以删除c字符。
注意:
字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。
我的答案
class Solution {
public boolean validPalindrome(String s) {
char[] ar = s.toCharArray();
for(int i=0,j=ar.length-1;i<j;i++,j--) {
if(ar[i]!=ar[j]) {
return isPalindrome(s,i+1,j) || isPalindrome(s,i,j-1);
}
}
return true;
}
public static boolean isPalindrome(String s,int i,int j) {
char[] ar = s.toCharArray();
while(i<j) {
if(ar[i]!=ar[j]) {
return false;
}
i++;j--;
}
return true;
}
}
168. Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
我的答案
class Solution {
public String convertToTitle(int n) {
StringBuffer sb = new StringBuffer();
while(n!=0) {
if(n%26==0) {
sb.insert(0, 'Z');
}else{
sb.insert(0, (char)(64+n%26));
}
n--;
n = n/26;
}
return sb.toString();
}
}
这篇博客探讨了两个编程问题:一是如何在允许删除一个字符的情况下判断字符串是否为回文;二是如何将正整数转换为Excel列名称。解决方案分别通过迭代和递归实现了回文检查,并使用模运算和除法生成Excel列名。
1112

被折叠的 条评论
为什么被折叠?



