网站建设的风险预测,排版设计模板,四川成都最新消息,wordpress不显示首页登录【问题描述】[简单] 【解答思路】 直接定位最后一个单词 先找最后一个单词最后一个字母 再找最后一个单词第一个字母
1. 常规做法
时间复杂度#xff1a;O(N) 空间复杂度#xff1a;O(1)
class Solution {public int lengthOfLastWord(String s) {int end s.length() …【问题描述】[简单] 【解答思路】 直接定位最后一个单词 先找最后一个单词最后一个字母 再找最后一个单词第一个字母
1. 常规做法
时间复杂度O(N) 空间复杂度O(1)
class Solution {public int lengthOfLastWord(String s) {int end s.length() - 1;while(end 0 s.charAt(end) ) end--;if(end 0) return 0;int start end;while(start 0 s.charAt(start) ! ) start--;return end - start;}
}
2. 索引法
trim()去除首尾空格 lastIndexOf(int ch) 最后一个空格出现的下标 时间复杂度O(N) 空间复杂度O(1)
class Solution {public int lengthOfLastWord(String s) {s s.trim();int num s.length() -1 - s.lastIndexOf( );return num;}
}
3. 通用匹配最后一个单词长度
时间复杂度O(N) 空间复杂度O(1)
public int lengthOfLastWord(String s) {int start,end ;int index s.length()-1;while(index0 (!Character.isLetter(s.charAt(index)))){index--;}if(index 0) return 0;end index;while(index0 Character.isLetter(s.charAt(index)) ){index--;}start index;return end - start ;}【总结】
1.java判断字符串是否是数字/字母
数字 Character.isDigit(char ch) 字母 Character.isLetter(char ch)
2.String类常用函数链接
3.字符串遍历 善用while
参考链接http://www.blogjava.net/Javaphua/archive/2007/06/05/122131.html