1. 程式人生 > >華為線上程式設計題系列-13-句子逆序

華為線上程式設計題系列-13-句子逆序

題目總覽

問題描述:

1. 問題涉及知識點.

  • String.split(key)分詞
  • 逆序

2. 自己解法.

  • 使用string.split(" ")使用空格進行分詞.
  • 反向列印陣列.
package com.chaoxiong.niuke.huawei;

import java.util.Scanner;

/**
 * Create by tianchaoxiong on 18-4-9.
 */
public class HuaWei_13 {
    public static void main(String[] args) {
        Scanner scanner = new
Scanner(System.in); while (scanner.hasNext()){ String key = scanner.nextLine(); String result = reverse(key); System.out.println(result); } } private static String reverse(String key) { String []stringArr = key.trim().split(" "); //使用 stringBuilder做一個合併.
StringBuilder stringBuilder = new StringBuilder(); for(int i=0;i<stringArr.length;i++){ stringBuilder.append(stringArr[stringArr.length-1-i]).append(" "); } return stringBuilder.toString().trim(); } }

3. 優質答案.

  • string.getByte()把string轉為byte陣列,每個陣列中是一個單詞.
  • 可使用(char)byte轉為char.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String s = in.nextLine();  
            byte[] b = s.getBytes();//每個byte陣列中存放一個詞語.
            for (int i = b.length-1; i >= 0; i--) {
                System.out.print((char)b[i]);
            }
        }                      
    }
}

4. 本題總結.

  • string.getByte()將string轉為byte陣列,每個byte剛好使用空格隔開.