字符串问题

108 阅读1分钟

问题列表

微信图片_20230517150335.jpg

序号题目完成
滑动窗口3. 无重复字符的最长子串
151. 翻转字符串里的单词
8. 字符串转换整数 (atoi)
5. 最长回文子串
72. 编辑距离
93. 复原IP地址
91. 解码方法
415. 字符串相加
468. 验证IP地址
273. 整数转换英文表示
76. 最小覆盖子串
227. 基本计算器 II
1233. 删除子文件夹
10. 正则表达式匹配
43. 字符串相乘

括号相关

微信图片_20230517150339.jpg

参考:括号

翻转字符串

151. 翻转字符串里的单词

class Solution {
    public String reverseWords(String s) {
        int right = s.length() - 1;
        StringBuilder sb = new StringBuilder();
        // 从后往前遍历
        while (right >= 0) {
            // 删除后面的空格
            while (right >= 0 && s.charAt(right) == ' ') {
                right--;
            }
            // 
            if (right < 0) {
                break;
            }
            // 找到单词开始位置
            int left = right;
            while (left >= 0 && s.charAt(left) != ' ') {
                left--;
            }
            // 找到了一个单词
            sb.append(s.substring(left + 1, right + 1)).append(" ");
            // 继续找
            right = left;
        }
        // 删除末尾的空格
        return sb.charAt(sb.length() - 1) == ' ' ? sb.deleteCharAt(sb.length() - 1).toString() : sb.toString();
    }
}

回文

5. 最长回文子串