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

leetcode 58.Length of Last Word

时间:2015-03-02 20:45:22      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

题目:

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.

 

解决方案:

public class Solution {
    public int lengthOfLastWord(String s) {
        //从后向前(从右向左)看
        if(s == null || s.length()==0)
            return 0;
        int len = 0;
        int i = s.length()-1;
        
        //先找到最后一个词,把整个字符串最后的空格全部忽略
        while(i>=0 && s.charAt(i)==‘ ‘)
            i--;
        //找到最后一个词,从右往左判断长度
        while(i>=0 && s.charAt(i)!=‘ ‘){
            len ++;
            i--;
        }
        return len;
    }
}

 

总结:

  这道题受之前一道题的影响,上来就想用java的自带函数lastIndexOf来做,结果做了一会做错了,写了好多代码,根据出错的提示得知要判断的东西挺多,然后就放弃了,开始换思路,这种思路就是从后往前坐,这个方法很简单,只需要判断一个大的问题就好了,那就是把最后的空格都忽略。

 

有点感觉了!加油!

leetcode 58.Length of Last Word

标签:

原文地址:http://www.cnblogs.com/Pillar/p/4309580.html

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