【噶】字符串-58. 最后一个单词的长度

题目:给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。

示例:

输入: "Hello World"
输出: 5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word

解答:

一开始用了indexOf然后分了空格在最后和不在最后,后来测试的时候发现这种解答是不对的,忽略了空格有多处,并且空格不止一个,后来从后往前遍历

 1 class Solution {
 2     public int lengthOfLastWord(String s) {
 3         int res = 0;
 4         if (s != null && s.length() > 0) {
 5             boolean flag = true;
 6             for (int i = s.length() - 1; i >= 0; i--) {
 7                 String chars = Character.toString(s.charAt(i));
 8                 if (!chars.equals(" ")) {
 9                     if (flag) {
10                         res++;
11                     }
12                 } else {
13                     // 空的,还没有遇到有值得
14                     if (res == 0) {
15                         flag = true;
16                     } else {
17                         flag = false;
18                     }
19                 }
20             }
21         }
22         return res;
23         
24     }
25 }

好像过于繁琐了。。

第7、8行可以直接 if (s.charAt(i) != ' ')

最后看看别人的代码,精简下来是这样

 1         public static int lengthOfLastWord(String s) {
 2             int res = 0;
 3             if (s == null || s.length() == 0) return 0;
 4             for (int i = s.length() - 1; i >= 0; i--) {
 5                 if (s.charAt(i) == ' ') {
 6                     // 空的,还没有遇到有值得
 7                     if (res == 0) continue;
 8                     break;
 9                 }
10                 res++;
11             }
12             return res;
13         }

字符和字符串互转

Char——>String

String s = String.valueOf('c'); //单个字符
String s = String.valueOf(new char[]{'c'}); //转换数组
String s = Character.toString('c');//实际上直接返回String.valueOf(char)
String s = new Character('c').toString();
String s = new String(new char[]{'c'});
String s = "" + 'c';

String——>Char

String.charAt(index)//return char
String.toCharArray()//return char[]
越努力越幸运~ 加油ヾ(◍°∇°◍)ノ゙
原文地址:https://www.cnblogs.com/utomboy/p/13401856.html