教你如何建设网站阿里去,企业网站建设开发,佛山十大进出口贸易公司,上海百度推广方案1.题目
给你一个字符串 s#xff0c;由若干单词组成#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
2.示例 3.思路 通过对字符串的反转#xff0c;转为数组开始遍历#xff0c…1.题目
给你一个字符串 s由若干单词组成单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
2.示例 3.思路 通过对字符串的反转转为数组开始遍历设计两个指针。一个指针找到最后单词的起始另一个指针指向单词指针的末尾
LeetCode代码
class Solution {public int lengthOfLastWord(String s) {int preDex 0;int tailDex 0;StringBuffer stringBuffer new StringBuffer(s);char sts[] stringBuffer.reverse().toString().toCharArray();while (sts[preDex] ){preDex;}tailDex preDex;while (sts[tailDex]! ){if (tailDex sts.length-1){tailDex;break;}tailDex;}return tailDex-preDex;}
}
详细解析案例代码时间复杂度O(n);
package LettCode08;import java.util.Arrays;public class javaDemo {public static void main(String[] args) {String s fly me to the moon ;
// 最后一个单词的头下角标和尾下角标int preDex 0;int tailDex 0;
// 将字符串反转StringBuffer stringBuffer new StringBuffer(s);char sts[] stringBuffer.reverse().toString().toCharArray();
// 找到最后一个单词的起始while (sts[preDex] ){preDex;}
// 找到一个单词的末尾tailDex preDex;while (sts[tailDex]! ){if (tailDex sts.length-1){tailDex;break;}tailDex;}
// 初始位减去末尾位就是长度了System.out.println(tailDex-preDex);}
}