Day | 151. 反转字符串中的单词 | 55. 右旋字符串

60 阅读1分钟

151. 反转字符串中的单词 - 力扣(LeetCode)

public class Solution {
    public String reverseWords(String s) {
        s = s.trim();
        int i = s.length() - 1, j = i;
        StringBuilder res = new StringBuilder();
        while (i >= 0) {
            while (i >= 0 && s.charAt(i) != ' ') {
                i--;
            }
            res.append(s.substring(i + 1, j + 1) + " ");
            while (i >= 0 && s.charAt(i) == ' ') {
                i--;
                j = i;
            }
        }
        return res.toString().trim();
    }
}

双指针,是很有用的。这题用了挺长时间都没做出来,还是不太熟悉用双指针。

55. 右旋字符串 (kamacoder.com)

import java.util.*;

class Main {
    public static void main (String[] args) {
        /* code */
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        String s = sc.next();
        
        StringBuilder sb = new StringBuilder();
        char[] ch = s.toCharArray();
        for(int i = ch.length-k;i<ch.length;i++){
            sb.append(ch[i]);
        }
        for(int i = 0;i<ch.length-k;i++){
            sb.append(ch[i]);
        }
        System.out.println(sb.toString());
    }
}

这道题倒是一下就做出来了。