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.

就是输出最后一个单词的字母数。首先这道题看似简单其实不简单,得考虑好几种情况,分别是"a  "、"  a"、"  a  "的情况。所以得分别处理这几种情况下,才能够得到正确的结果。因此,针对这题,首先我采用从后往前来一一查找的方法来实现,但是在具体实现的过程中,我发现了一个问题,就是||(或)运算符的问题,因为如果(a || b)中前面那个a成立了,那么后面的那个b就不会去执行了,所以得特别当心。具体代码如下:

public class Solution
{
	public static int lengthOfLastWord(String s)
	{
		int length = s.length();
		int leng = 0;
		if(length != 0)
		{	
			for(int i = length - 1;i >= 0;i--)
			{
				if(s.charAt(i) != ' ')
				{
					//if(s.charAt(i - 1) != ' ')
						leng ++;
						//System.out.println(i);
					if(((i-1) == -1) || s.charAt(i - 1) == ' ' )      //这儿如果是先s.charAt(i - 1) == ' ' || (i - 1) == -1这样可能就直接如果前面那个成立,那么后面那个就不会执行了					{
						//leng ++;
						break;
					}
					
				}
			}
		}
		return leng;
	}
	public static void main(String args[])
	{
		System.out.println(lengthOfLastWord("a  "));
	}
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值