Java 程序查找字符串中的第一个非重复字符10 Sept 2024 | 4 分钟阅读 最初,有很多方法和逻辑来查找字符串中的第一个非重复字符,只需要实现。要实现,我们需要理解逻辑,并且需要完全掌握编程语言。在用 Java 实现逻辑之前,我们首先需要定义 Java 编程的定义。 字符串中第一个非重复字符的示例考虑一个关于这个问题的例子,以单词 Javatpoint 为例;从字符串 "Javatpoint" 的开头开始。逐个检查每个字符,并跟踪遇到的每个字符的计数。对于所有字符,计数为一,除了字符 'a' 和 't',它们的计数为二。现在,再次从头开始扫描字符串,找到第一个计数为 1 的字符。在这种情况下,它是 'j'。 因此,字符串 "Javatpoint" 中第一个非重复字符是 'J'。 算法上述示例的算法如下 步骤 1: 开始 步骤 2: 将 firstNonRepeatingChar 初始化为 null 字符 ('\0'),foundNonRepeating 初始化为 false。 步骤 3: 使用循环迭代输入字符串中的每个字符。 步骤 4: 对于每个字符,通过再次迭代输入字符串并与其他字符进行比较来检查它是否重复。 步骤 5: 如果当前字符不重复,则将其赋给 firstNonRepeatingChar,将 foundNonRepeating 设置为 true,然后跳出循环。 步骤 6: 循环结束后,检查 foundNonRepeating 的值。 步骤 7: 如果 foundNonRepeating 为 true,则打印“第一个非重复字符是:”,后跟 firstNonRepeatingChar。 步骤 8: 如果 foundNonRepeating 为 false,则打印“输入字符串中没有非重复字符。” 步骤 9: 结束。 使用 indexOf() 和 lastIndexOf() 的 Java 程序NonRepeatingChar.Java 输出 Input a String: JavaTpoint The first character which is not repeating is: J 时间复杂度 提供的程序的时间复杂度为 O(n^2),其中 n 是输入字符串的长度。 使用 ASCII 值的 Java 程序NonRepeatingChar.Java 输出 Enter a String: JavaTpoint The first character which is not repeating is: J 时间复杂度 提供的程序的时间复杂度为 O(n),其中 n 是输入字符串的长度。 使用暴力法的 Java 程序NonRepeatingChar.Java 输出 Enter a String: JavaTpoint The first character which is not repeating is: J 时间复杂度 提供的程序的时间复杂度为 O(n^2),其中 n 是输入字符串的长度。 使用集合和列表的 Java 程序NonRepeatingChar.Java 输出 Enter a String: JavaTpoint The first character which is not repeating is: J 时间复杂度 提供的程序的时间复杂度为 O(n^2),其中 n 是输入字符串的长度。 结论因此,以上是针对给定查询的不同方法,即编写一个 Java 程序来查找字符串中的第一个非重复字符。因此,以上四个程序将成功执行而不会出错。因此,可以通过跟踪程序并给出自己的输出来理解逻辑。 下一主题Java 静态类型与动态类型 |
当不支持的字符编码方案应用于 Java 字符串或字节时,会引发 java.io.UnsupportedEncodingException。使用 Java String getBytes 函数从请求的字符串中获取指定编码格式的字节。Java.io.UnsupportedEncodingException 由 String getBytes 函数抛出,该函数使用指定的编码...
阅读 3 分钟
静态对象在Java编程世界中起着关键作用。它们提供了一种在类的多个实例之间共享数据和功能的方法。在此上下文中,我们可以发现Java中静态对象的概念,讨论它们的...
阅读 4 分钟
比较两个二叉树的结构和节点值以检查它们是否为镜像。一个二叉树是另一个的镜像,如果一个的左子树与另一个的右子树匹配,反之亦然。这涉及递归来遍历和...
阅读9分钟
继承是 Java 中面向对象编程 (OOP) 四大组成部分中的基本原则。象征性地,继承允许子类通过这种关系获得所有父类的字段和方法。该功能使开发人员能够重用代码块并创建可维护和可扩展的程序,从而实现...
阅读 3 分钟
Java 中的 LocalDate 类提供了一种机制,可以与日期交互,而无需时间或时区组件作为 Java 8 Date and Time API 的一部分。这个不可变的类代表一个日期(年、月、日),但不代表其时间。经常需要……
阅读 4 分钟
语句大致相当于自然语言中的句子。通常,语句就像有意义的英文句子一样。在本节中,我们将讨论 Java 中的语句是什么以及 Java 中的语句类型。Java 中的语句是什么?在 Java 中,一个...
阅读 2 分钟
Java 与 Python Java 和 Python 是当今最流行的两种编程语言。虽然两者都功能强大且得到广泛支持,但在语法、性能和用例方面存在显著差异。在本文中,我们将从特性方面比较 Java 和 Python...
阅读 4 分钟
有时,我们需要将字符列表转换为字符串。字符串是字符序列,因此我们可以轻松地从字符数组创建字符串。我们有一些特殊的字符串,例如回文串(一种相同的字符串……
阅读 4 分钟
在面向对象编程中,类是基本的构建块。它可以定义为描述类实例化相关的数据和行为的模板。实例化一个类就是创建该类的对象(变量),该对象可用于访问...
5 分钟阅读
棒球三振出局是一个小型数字猜测应用程序,在用户和程序之间进行,用户必须猜测程序选择的三个随机且不重复的数字。它使用“三振”和“好球”来提供反馈,直到...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India