1141 删除单词后缀
时间: 2023-12-26 16:04:03 浏览: 34
这是一道字符串处理的题目,给定一个单词列表和一个后缀列表,要求删除单词列表中所有单词的结尾与后缀列表中任意一个后缀匹配的部分。最后返回处理后的单词列表。
我们可以遍历单词列表中的每个单词,然后再遍历后缀列表中的每个后缀,判断该单词是否以该后缀结尾,如果是,则将该后缀从单词中删除。最后将处理后的单词加入到结果列表中即可。
以下是代码实现:
```python
class Solution:
def removeSubfolders(self, folder: List[str]) -> List[str]:
folder.sort() # 先按字典序排序
res = [folder[0]] # 将第一个文件夹加入结果列表中
for f in folder[1:]:
if not f.startswith(res[-1] + '/'): # 如果当前文件夹不是上一个文件夹的子文件夹
res.append(f) # 则将当前文件夹加入结果列表中
return res
```
相关问题
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀 python
可以使用字符串的.endswith() 方法来判断单词是否以指定后缀结尾,然后使用切片操作删除后缀。
具体代码如下:
```python
word = input("请输入一个单词:")
if word.endswith("er") or word.endswith("ly") or word.endswith("ing"):
word = word[:-2] # 删去后缀的两个字符
print("处理后的单词为:", word)
```
注意,在删除后缀时需要使用切片操作,将原字符串的末尾两个字符删除。如果直接使用字符串的.replace() 方法来替换后缀,可能会出现一些意外情况,比如单词本身就包含了er、ly或ing,导致替换出错。
用Java写出完整代码完成以下条件:给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
下面是完整的Java代码实现:
```java
public class WordSuffixRemover {
public static void main(String[] args) {
String word = "worker";
String newWord = removeSuffix(word);
System.out.println(newWord); // 输出work
word = "quickly";
newWord = removeSuffix(word);
System.out.println(newWord); // 输出quick
word = "eating";
newWord = removeSuffix(word);
System.out.println(newWord); // 输出eat
}
public static String removeSuffix(String word) {
if(word.endsWith("er")) {
return word.substring(0, word.length() - 2);
} else if(word.endsWith("ly")) {
return word.substring(0, word.length() - 2);
} else if(word.endsWith("ing")) {
return word.substring(0, word.length() - 3);
} else {
return word;
}
}
}
```
这个代码首先定义了一个`removeSuffix()`函数,用于删除单词的er、ly或ing后缀。然后在`main()`函数中调用这个函数进行测试。测试结果符合预期。