Leetcode 算法58
1、题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
例子:
输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。
//给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
//
// 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
//
//
//
// 示例 1:
//
//
//输入:s = "Hello World"
//输出:5
//解释:最后一个单词是“World”,长度为5。
//
//
// 示例 2:
//
//
//输入:s = " fly me to the moon "
//输出:4
//解释:最后一个单词是“moon”,长度为4。
//
//
// 示例 3:
//
//
//输入:s = "luffy is still joyboy"
//输出:6
//解释:最后一个单词是长度为6的“joyboy”。
//
//
//
//
// 提示:
//
//
// 1 <= s.length <= 10⁴
// s 仅有英文字母和空格 ' ' 组成
// s 中至少存在一个单词
//
//
// Related Topics 字符串 👍 503 👎 0
package editor.cn;
class 最后一个单词的长度 {
public static void main(String[] args) {
Solution solution = new 最后一个单词的长度().new Solution();
// TO TEST
}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public int lengthOfLastWord(String s) {
String arr[] = s.split(" ");
int i = arr.length - 1;
// for的第一部分省略了int i = arr.length - 1;
for (; i >= 0; i--) {
if (arr[i].length() > 0) {
break;
}
}
// .length表示数组的长度;而.length()表示字符串的长度
return arr[i].length();
}
}
//leetcode submit region end(Prohibit modification and deletion)
}
2、题目:去掉重复的字符串
如:abcabcabcabc,最后输出abc
public class delchongfu {
public static void main(String[] args) {
String str="abcsdabx";
//新建一个空的数据表,用来存取数据
ArrayList<String> data = new ArrayList<>();
for (int i = 0; i <str.length() ; i++) {
//挨个字符遍历,若没有出现过,就加入data数据表,
//substring()用来截取字符串(起始索引包含 ,结束索引不包含 )
String s=str.substring(i,i+1);
if(!data.contains(s)){
data.add(s);
}
}
//以字符串的形式输出data
String result="";
for (String s : data) {
result+=s;
}
System.out.println(result);
}
}