LeetCode-557. Reverse Words in a String III
来源:互联网 发布:飞行员是什么意思网络 编辑:程序博客网 时间:2024/06/15 11:52
Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: "Let's take LeetCode contest"Output: "s'teL ekat edoCteeL tsetnoc"
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------我的方法,耗时22ms:
public class Solution { public String reverseWords(String s) { String[] array = s.split(" ");StringBuilder sb = new StringBuilder();char [] splitArray = null;for(int i=0; i < array.length;i++){splitArray = array[i].toCharArray();int iLength = splitArray.length;int start = 0;int end = iLength;char temp;while(start < end){temp=splitArray[start]; splitArray[start]=splitArray[end-1]; splitArray[end-1]=temp; start++; end--;}if(sb.length() == 0){ sb.append(new String(splitArray));}else{ sb.append(" "+new String(splitArray));}}return sb.toString(); }}
另一种方法,耗时6ms:
public class Solution { public String reverseWords(String s) { char[] chars = s.toCharArray(); int i=0; while(i<chars.length){ int wordEnd = getWordEnd(chars, i); reverse(chars, i, wordEnd); i = wordEnd+1; } return new String(chars); } public int getWordEnd(char[] chars, int i){ while(i < chars.length && chars[i]!=' '){ i++; } return i; } public void reverse(char[] chars, int from, int to){ //System.out.println("reverse "+Arrays.toString(chars)+" "+ from + " "+to); for(int i=from; i<from + (to-from)/2;i++){ swap(chars, i, to - (i-from) - 1); } } public void swap(char[] arr, int i, int j){ char tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; }}
阅读全文
0 0
- leetCode---Reverse Words in a String III
- leetcode-Reverse Words in a String III
- Reverse Words in a String III(leetcode)
- leetcode题解-151. Reverse Words in a String && 557. Reverse Words in a String III
- Leetcode-557. Reverse Words in a String III
- 【Leetcode】557. Reverse Words in a String III
- leetcode 557. Reverse Words in a String III
- LeetCode之路:557. Reverse Words in a String III
- Leetcode 557. Reverse Words in a String III
- LeetCode 557. Reverse Words in a String III
- leetcode 557. Reverse Words in a String III(easy)
- [LeetCode]557. Reverse Words in a String III
- [leetcode] 557. Reverse Words in a String III
- leetcode 557. Reverse Words in a String III
- [leetcode]: 557. Reverse Words in a String III
- LeetCode 557. Reverse Words in a String III
- [leetcode]557. Reverse Words in a String III
- [leetcode: Python]557. Reverse Words in a String III
- 图像处理之特征提取:LBP特征简单梳理
- FILE结构体与文件描述符
- 定位的配合使用
- spring第一篇----XmlBeanFactory 小结
- 基于ARM的RPi3+raspbian-jessie-lite-2017-04-10上OpenCV3.2.0在python2.7.9上本地编译安装及调用命令汇总
- LeetCode-557. Reverse Words in a String III
- H5小白入门笔记(3)
- 案例---拦截有序广播
- MySQL check the manual that corresponds to your MySQL server version for the right syntax错误
- jsonp跨域请求
- springMVC+spring的关键配置
- Linux下ipv6配置系列三:如何为Nginx配置IPv6端口监听
- ie6双边距
- 使用OpenCV进行图片模糊处理(归一化滤波器)