gpt4 book ai didi

java - 理解java中的compareto()方法

转载 作者:行者123 更新时间:2023-12-01 17:05:29 24 4
gpt4 key购买 nike

我遇到了麻省理工学院关于递归的讲座,他们使用递归检查回文,他们使用逻辑检查它,比较第一个和最后一个字母等等。我的想法如下

只是一个伪代码:

    String original="abba";

String reverse = "";
for(int i=original.length()-1;i>=0;i--)
{
reverse+=new String(original.substring(i,i+1));
}
if(original.equals(reverse))
System.out.println("palindrome");
else
System.out.println("not palindrome");

我有两个疑问

  • 就时间复杂度而言,该逻辑是否比递归或传统逻辑更好?
  • compareTo() 方法如何检查字符串是否相等?它比较字节码还是其他东西?

最佳答案

您应该使用equals,而不是compareTo,因为compareTo 返回一个int,而不是您的if 条件所期望的 boolean 值。或者,您可以检查 if (original.compareTo(reverse)==0),这意味着字符串相等。

compareTo 的工作原理是比较具有相同索引的每对字符,并返回第一个不相等的字符对之间的差异。如果全部相等,则返回 0。

关于java - 理解java中的compareto()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25772669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com