首页 > 试题广场 >

删除重复字符

[编程题]删除重复字符
  • 热度指数:15863 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母'a'和字母'n'分别出现了三次和两次。
但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。

输入描述:
输入包括一个字符串s,s的长度length(1 ≤ length ≤ 1000),s中的每个字符都是小写的英文字母('a' - 'z')


输出描述:
输出一个字符串,表示满足牛牛要求的字符串
示例1

输入

banana

输出

ban
头像 牛客492517985号
发表于 2023-05-20 13:29:14
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 简单就好201710200501870
发表于 2024-10-31 01:47:00
#include <iostream> using namespace std; int main() { string str; cin>>str; for(int i=0; i<str.size(); i++){ 展开全文
头像 sheperd
发表于 2022-05-19 16:33:16
用数组维护更好,用map维护太耗内存。 比如字母a,存放在数组0号位置,b放在1号位置,以此类推,只需要26个长度就可以保存所有的字母。 import java.util.Scanner; import java.util.*; // 注意类名必须为&nb 展开全文
头像 牛客题解官
发表于 2020-06-05 17:49:47
删除重复字符 题目难度:简单 知识点:字符串 方法一 通过字符下标判断该字符是否需要输出。使用lastIndexOf()和indexOf()方法,其中lastIndexOf()表示字符在此字符串中最后一次出现的索引,indexOf()表示字符在此字符串中第一次出现的索引。定义一个StringBuff 展开全文
头像 重生之我要当分子
发表于 2025-01-03 14:20:01
解题思路 这是一个字符串处理问题。需要遍历字符串并记录每个字符的出现情况,以便只保留第一次出现的字符。 关键点: 使用集合记录已经出现的字符。 遍历字符串,构建结果字符串。 保持字符的原始顺序。 算法步骤: 初始化一个空集合用于存储已出现的字符。 初始化一个空字符串用于存储结果。 遍历输入字符 展开全文