zoukankan      html  css  js  c++  java
  • [leetCode]58.最后一个单词的长度

    在这里插入图片描述

    解法一

    先去除字符串首尾空格,再遍历整个字符串:

    • 如果为‘ ’ 则为一个新词开始,计数器置0
    • 否则计数器+1
    • 返回计数器的值
    class Solution {
        public int lengthOfLastWord(String s) {
            int left = 0, right = s.length() - 1,  ans = 0;;
            while(left < right && s.charAt(left)==' ') ++left;
            while(left < right && s.charAt(right)==' ') --right;
            for(int i = left; i <= right; i++){
                if(s.charAt(i)==' ')
                    ans = 0;
                else ++ans;
            }
            return ans;
        }
    }
    

    解法二

    遍历整个字符串,如果遇到非空字符,只需判断前一个字符是否为' '

    • 是:新词开始,计数器置1;
    • 否: 不是新词,计数器+1;

    由于i=0时无法判断前一个字符是否为' '所以需要加以判断,i=0时计数器+1

    class Solution {
        public int lengthOfLastWord(String s) {
           int ans = 0;
           for(int i = 0; i < s.length(); i ++){
               if(s.charAt(i) != ' '){
                   if(i != 0 && s.charAt(i - 1) == ' ')ans = 1;
                   else ans++;
               }
           }
           return ans;
        }
    }
    

    解法三

    因为只关心最后一个单词的长度,所以只需从后向前遍历

    class Solution {
        public int lengthOfLastWord(String s) {
           int right = s.length() - 1, ans = 0;
           while(right >= 0 && s.charAt(right) == ' ')--right;
           while(right >= 0 && s.charAt(right) != ' '){
               --right;
               ++ans;
           }
           return ans;
        }
    }
    
  • 相关阅读:
    万能清除
    CSS追加笔记
    函数追加笔记
    jQuery实现放大镜效果
    jQuery获取元素的方法
    JavaScript
    jQuery三级联动
    DOM追加笔记
    数据结构与算法之美01
    RPC架构简介与原理
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13860022.html
Copyright © 2011-2022 走看看