码迷,mamicode.com
首页 > 其他好文 > 详细

【Leetcode】58. Length of Last Word

时间:2017-07-03 14:10:41      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:fine   div   mis   indexof   位置   font   seq   cte   space   

Question:

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.

Leetcode submission:

 public int lengthOfLastWord(String s) {
        if((s=="")||(s==" ")) return 0;
            s=s.trim();
            System.out.println(s.length());
            int BlankIndex=s.lastIndexOf(" ")+1;//从0开始
            int ans=s.length()-BlankIndex;
            System.out.println(ans);
            return ans;
    }

完整可运行代码:

public class L58 {
    public int lengthOfLastWord(String s) {
         if((s=="")||(s==" ")) return 0;
            s=s.trim();
            System.out.println(s.length());
            int BlankIndex=s.lastIndexOf(" ")+1;//从0开始
            int ans=s.length()-BlankIndex;
            System.out.println(ans);
            return ans;
    }
    public static void main(String[] args) {
        L58 l58 = new L58();
        String s= "Hello  Wolll ";
        l58.lengthOfLastWord(s);
    }
}

 

注:

①trim()去除字符串收尾的空格 String s=s.trim()

②lastIndexOf() 返回最后一次出现的“ ”所在位置索引 从0开始计数

③开始用的split截取

String[] temp = s.split(" ");
int index=temp.length;
String last=temp[index-1];
ans=last.length();
 return ans;

但是split截取 只能使用一种规格截取比如一个空格或者两个空格,题目要求不管几个几个空格 都算一个分隔,所以split不合适。

【Leetcode】58. Length of Last Word

标签:fine   div   mis   indexof   位置   font   seq   cte   space   

原文地址:http://www.cnblogs.com/yumiaomiao/p/7110434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!