当前位置: 首页 > 知识库问答 >
问题:

计算LinkedList中给定数字的出现次数

连坚白
2023-03-14

给定类LinkedList

public class LinkedList {

    public Node head = null;

    public class Node {
        public int value;
        public Node next;
    }
}

我想添加一个方法public int count(int value),该方法计算列表中某个数字出现的次数。我尝试了以下方法,但它并不总是有效的,我不确定我做错了什么。

public int count(int value) {

    int counter = 0;

    while(head != null) {

        Node tmp = head.next;

        while(tmp != null) {

            if(head.value == value) {
                counter++;
            }
            tmp = tmp.next;
        }
        head = head.next;
    }
    return counter;
}

此方法适用于1 4 3 4 4 5int value=4(它应该返回3)

但对于1 2 3 4 4 5int value=4,则返回1

共有2个答案

董喜
2023-03-14

最简单的方法是:遍历列表并增加包含'value'的每个节点的计数。由于您的代码中有几个问题,我试图用注释解释每一行的原因。

public int count(int value) {
    int count = 0;
    
    // 'node' is the node we are currently processing.
    // Starting at the head...
    Node node = head;
    
    // while we not reached the end of the list
    while (node != null) {
        // if the node has the same value we are searching for
        if (node.value == value) {
            // increase count since we found the value
            count++;
        }
        // Go to the next node (null if we reached the end of the list).
        node = node.next;
    }
    
    return count;
}
高玮
2023-03-14

试试看:

public int count(int value) {
    int counter = 0;
    Node tmp = head;
    while (tmp != null) {
        if(tmp.value == value) { // this line contained your biggest mistake
            counter++;
        }
        tmp = tmp.next;
    }
    return counter;
}

您的方法中根本没有使用value参数。

我建议您通过使用IDE来改进您的Java学习,该IDE可能会给您的代码中的问题提供提示。在这种情况下,方法实现中没有使用value参数。

我建议:IntelliJ IDEA、Eclipse或Visual Studio代码。我相信还有很多,但这些是我知道的。

这是我的意思的一个小例子:

 类似资料:
  • 问题内容: 如何计算给定子字符串在Python字符串中出现的次数? 例如: 问题答案: , 像:

  • 本文向大家介绍java计算给定字符串中出现次数最多的字母和该字母出现次数的方法,包括了java计算给定字符串中出现次数最多的字母和该字母出现次数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java计算给定字符串中出现次数最多的字母和该字母出现次数的方法。分享给大家供大家参考,具体如下: PS:这里再为大家推荐几款在线字符统计工具供大家参考: 在线字数统计工具: http://to

  • 我需要返回一个字典,该字典计算预定列表中每个字母出现的次数。问题是我需要把大小写字母都算成一样,所以我不能用.low或.uper。 因此,例如,如果“t”是要搜索的字母,“This is a Python String”应该返回{nt':3}。 这是我目前所掌握的... 其中'letters'是条件,fullText是我正在搜索的字符串。 这里很明显的问题是,如果测试是“t”而不是“t”,我的代码

  • 我想计算一下给定句子中出现了多少个单词。我使用的是C编程语言。它不能计算最后一个字。在给定的字符串中,它计算每个单词发生的次数。如果有像这样的句子,那么程序应该算。但在我的情况下,它不算作。而不是计算,然后: 我的代码:

  • 问题内容: 计算字符串中字符出现次数的最简单方法是什么? 例如,计算出现在其中的次数 问题答案: 返回sub范围中的子字符串不重叠的次数。可选参数并以片表示法解释。

  • 问题内容: 我需要计算一个字符在一个字符串中出现的次数。 例如,假设我的字符串包含: 我想找到逗号字符的数量,即3。以及沿逗号分割后的各个字符串的数量,即4。 我还需要验证每个字符串,即str1或str2或str3或str4不应超过15个字符。 问题答案: 我已经更新了这个答案。我喜欢更好地使用比赛的想法,但是比较慢: 如果您事先知道要搜索的内容,则使用正则表达式文字;如果不知道,则可以使用构造函