zoukankan      html  css  js  c++  java
  • [leetcode]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。

    题目是要求最后一个单词的长度。

    我觉得一般的做法是先去掉头尾的空格,代码就会简单明了一些。下面的代码是从后往前检查字符串,同时计算最后单词的长度。

    class Solution {
    public:
        int lengthOfLastWord(const char *s) {
    		string S = s;
    		if(S.length() == 0)return 0;
            string::reverse_iterator r = S.rend();
    		int start = 0;
    		int size = 0;
    		for (r=S.rbegin();r<S.rend();r++)
    		{
    			if(start != 0){
    				if(isspace(*r))
    				{
    					return size;
    				}else{
    					size++;
    				}
    			}else{
    				if(!isspace(*r))
    				{
    					start = 1;
    					size++;
    				}
    			}
    		}
    		if(start == 0)return 0;
    		return size;
        }
    };
    

      

  • 相关阅读:
    tcp/ip的通俗讲述(转)
    linux中的read_link
    浅拷贝和深拷贝
    JAVA的动态代理Jdk实现方式
    友元函数
    孤儿进程、僵尸进程
    waitpid()函数
    wait()函数
    dup2函数
    exec族函数
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4235014.html
Copyright © 2011-2022 走看看