首页 > 其他 > 详细

557.Reverse Words in a String III

时间:2017-09-19 17:23:47      阅读:320      评论:0      收藏:0      [点我收藏+]

思路,直接遍历,翻转可以单独抽出来作为一个函数,最后返回的时候使用了系统自带的函数进行构造返回,这样才不会超时,如果像下面这样构造代码,将会在最后一个测试样例时超时。

		String result = "";
		for (char _ : chars) {
			result += _;
		}
		return result;

  

 

class Solution {
    public String reverseWords(String s) 
    {
        char[] chars = s.toCharArray();
        for (int start = 0, end = 0; end < s.length(); end++) {
            if (chars[end] == ‘ ‘) {
                for (int i1 = start, i2 = end - 1; i1 < i2; i1++, i2--) {
                    char temp = chars[i1];
                    chars[i1] = chars[i2];
                    chars[i2] = temp;

                }
                start = end + 1;
                continue;
            }
            if (end == s.length() - 1)
            // reverse(start,end)
            {
                for (int i1 = start, i2 = end; i1 < i2; i1++, i2--) {
                    char temp = chars[i1];
                    chars[i1] = chars[i2];
                    chars[i2] = temp;

                }
                start = end + 1;
            }
        }
        return new String(chars);
    }

    
}

技术分享

557.Reverse Words in a String III

原文:http://www.cnblogs.com/xeal/p/7552699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!