[劍指offer] JAVA版題解 面試題58

在這裏插入圖片描述

代碼演示:

package swordfingeroffer;

/**
 * <p>Description: </p>
 *
 * @author 羅志遠
 * @version 1.0
 * @name InterviewQuestion58
 * @date 2020-07-05 10:16
 */
public class InterviewQuestion58 {

    public String reverseSentence(String str) {
        if (null == str || 0 == str.length()) {
            throw new IllegalArgumentException("傳入的字符串不能爲空!");
        }
        String res = reverse(str);
        String[] resArr = res.split(" ");
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0;i < resArr.length - 1; i ++) {
            stringBuilder.append(reverse(resArr[i])).append(" ");
        }
        stringBuilder.append(reverse(resArr[resArr.length - 1]));
        return String.valueOf(stringBuilder);
    }

    private String reverse(String str) {
        if (null == str || "".equals(str)) {
            throw new IllegalArgumentException("傳入的字符串不能爲空!");
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = str.length() - 1; i >= 0; i --) {
            stringBuilder.append(str.charAt(i));
        }
        return String.valueOf(stringBuilder);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章