字符移位
來源: 牛客網?http://www.nowcoder.com/questionTerminal/7e8aa3f9873046d08899e0b44dac5e43
小Q最近遇到了一個難題:把一個字符串的大寫字母放到字符串的后面,各個字符的相對位置不變,且不能申請額外的空間。
你能幫幫小Q嗎?
輸入描述:
輸入數據有多組,每組包含一個字符串s,且保證:1<=s.length<=1000.
輸出描述:
對于每組數據,輸出移位后的字符串。
輸入例子:
AkleBiCeilD
輸出例子:
kleieilABCD
?
要求不能用額外的空間,那就只能就地移動了。遍歷到一個大寫字母,將其后的所有字符向前移動一步,然后將此大寫字母放到末尾。重復以上過程。
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String s = sc.nextLine();char[] a = s.toCharArray();int n = s.length();int end = n;for (int i = 0; i < end; ++i) {if (a[i] >= 'A' && a[i] <= 'Z') {char tmp = a[i];for (int j = i; j < n - 1; ++j)a[j] = a[j + 1];a[n - 1] = tmp;end--;i--;}}for (int k = 0; k < n; ++k)System.out.print(a[k]);System.out.println();}} } View Code?
轉載于:https://www.cnblogs.com/duanguyuan/p/5675179.html
總結
- 上一篇: iOS tableview的常用dele
- 下一篇: base--AuditResult