华为笔试0912第二题

题目难度:容易,估计华为这次通过面试刷人

题目内容:原地翻转句子中的单词。easy

<pre lang=”java” line=”1″>

public class dierti {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(str);
        char[] chars = str.toCharArray();
        int start = 0;
        int end = 0;
        while (end < chars.length){
            if (chars[end] != ' ') {
                end ++;
            } else {
                swap(chars, start, end - 1);
                start = end  + 1;
                end = end + 1;
            }
            if (end == chars.length - 1) {
                swap(chars, start, end);
            }
        }
        System.out.println(new String(chars));
    }
    private static void swap(char[] chars, int start, int end) {
        char temp = ' ';
        while (start < end) {
            temp = chars[start];
            chars[start] = chars[end];
            chars[end] = temp;
            start ++;
            end --;
        }
    }
}

</pre>

说点什么

avatar
  Subscribe  
提醒

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部