将列表的节点与字符串数组进行比较

标签 c string linked-list

如果我有一个数组,其中包含一些字符,例如[a,b,c],并且我有另一个数组,其中包含每个字符的各自频率,例如 [2,1,1]。我现在想遍历一个链表,其中的节点有一些字符串,看看它们是否也有我在原始数组中以相同频率拥有的字符。

我的做法

我在想我需要

一个循环将从原始数组的 index 0 开始,内部的另一个循环将检查该字符串的所有节点,如果我的临时指针为 null,则表示所有节点都有它,如果没有然后他们不这样做,我继续下一个。但是我不确定如何完全实现这种方法,因为我是 c 的新手,而且我想知道是否可以在 O(N) TIME 中执行此操作,因为我的方法是 O(N 2).

示例输出:对于造成的困惑,我深表歉意 所以如果你有 3 个节点并且每个节点都有一个包含 "nba""tba""rba" 的字符数组 然后输出应该返回 b a 。因为它们在每个节点中出现的次数相同。

最佳答案

因此,您在索引 0 处同时启动 char 数组和 freqarray,然后检查所有节点以查找与字符的相同频率匹配的字符串。我假设您使用某种函数来返回字符串中特定字符的频率。 此外,您的问题要求您遍历所有节点,因此隐含了 O(N^2)。

关于将列表的节点与字符串数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549365/

相关文章:

c - if 语句中的字符串比较不起作用

c++ - 函数返回字符串和 const char* 中的错误值

c - 从链接列表中释放和删除重复项?

linked-list - 单链表是否为回文

c - 读取一个字符串,当找到换行符时将每个字符串存储到数组中

c 获取整数的第n个字节

c - 在ncurses中设置光标移动字段

c - 谁响应内存管理用malloc()

php - 如何将换行符/换行符内爆到空格?

string - 如何在 Haskell 中制作开始/结束索引列表?