当前位置: 首页 > 面试题库 >

递归查找字符串中最长的单词

米楷
2023-03-14
问题内容

如何递归地查找字符串中最长的单词?

编辑

说完了,谢谢大家。这是修改后的代码。

public static String longestWord(String sentence)
{
    String longest;

    int i = sentence.indexOf(' ');

    if (i == -1)
    {
        return sentence;
    }

    String first = sentence.substring(0,i);
    first = first.trim();
    String rest = sentence.substring(i);
    rest = rest.trim();

    longest = stringcompare(first,longestWord(rest));

    return longest;
}

问题答案:

首先,让我们假设句子字符串参数没有任何前导或尾随空格。您可以通过调用trim()来处理递归情况。

然后,我们需要定义两种情况,即基本情况和递归情况。

基本情况是找不到空格,即传入的句子只是一个单词。在这种情况下,只需返回句子即可。

在递归的情况下,我们将得到第一个单词,其余的则与您一样。在句子的其余部分调用longestWord。然后,只需返回第一个单词中最长的一个,以及您的递归调用返回的任何内容即可。



 类似资料:
  • 问题内容: 我正在尝试查找字符串中字母的首次出现。例如,苹果中的p应该返回1。这是我拥有的: 它似乎似乎没有返回正确的值。 问题答案: 您的尝试很好,但是还不够。这是基于您的正确实现: 您的尝试存在两个问题: 在这一部分中,您已经找到了角色,因此正确的做法是停止递归,但您仍在继续。 在最后一个return语句中,您需要在递归调用中加1(如果最终找到了该字符),作为累加总索引号的一种方式。

  • 我有一个tweet数据库,其中实际的tweet文本在一个名为“text”的字段中。 我想知道如何查询并显示最长的tweet?我一直在想也许.排序或.长度或诸如此类的东西,但我环顾四周,到目前为止还没有找到任何有用的东西。 救命啊!谢谢!

  • 问题内容: 这个问题与Python类似-在字典中查找最长(最多单词)键-但我需要纯字符数。 输入示例: 输出: 问题答案: 替代方法,与@jamylak的解决方案一样快,并且使用更多的pythonic: 查看比较:

  • 问题内容: 在字符串数组中找到最长的字符串有一种简便的方法吗? 像什么? 问题答案: var longest = arr.sort(function (a, b) { return b.length - a.length; })[0]; 可能更有效,但仅自Javascript 1.8 / ECMAScript5起可用,并且在较旧的浏览器中默认不可用:

  • 问题是,我试图这么做,但我检查字符串长度的方法不起作用;我能做些什么来修复它?

  • http://articles.leetcode.com/2011/11/lengton-palindromic-substring-part-i.html 我处理这个问题的领域是用java编写代码,使用简单的强力解决方案,然后使用o(n2)方法,没有额外的空间,就像现在这样。http://www.geeksforgeeks.org/lengte-palindromic-substring-set