首页 > 代码库 > Length of Last Word
Length of Last Word
Given a string s consists of upper/lower-case alphabets and empty space characters ‘ ‘
, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example,
Given s = "Hello World"
,
return 5
.
这题还是比较容易的,用正则表达式感觉更简单一点,代码如下:
import java.util.regex.*;public class Solution { public int lengthOfLastWord(String s) { ArrayList<String> word_list = new ArrayList<String>(); Pattern p = Pattern.compile("\\w+");//匹配正则表达式 Matcher m = p.matcher(s); while(m.find()){ word_list.add(m.group()); } int size = word_list.size(); //size==0表示没有找到任何单词 if(size==0){ return 0; } return word_list.get(size-1).length(); }}
不用正则表达式代码:
public class Solution { public int lengthOfLastWord(String s) { if(s.length()==0){ return 0; } char[] array = s.toCharArray(); int size = array.length; ArrayList<String> list = new ArrayList<String>(); String word = "";//临时存储一个单词 int flag = 0;//flag==1时表示当前正在记录一个单词 for(int i=0;i<size;i++){ if(array[i]!=‘ ‘){ word = word+array[i]; flag = 1;//修改flag表示当前开始记录一个单词 } //如果遇到空格或者循环结束则将flag置0,表示当前单词记录结束 if(array[i]==‘ ‘||i==size-1){ flag = 0; } //如果word非空并且flag==0则表示一个单词记录完毕并将其存入list中,同时word置空 if(!word.isEmpty()&&flag==0){ list.add(word); word = ""; } } if(list.isEmpty()){ return 0; } return list.get(list.size()-1).length(); }}
Length of Last Word
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。