【发布时间】:2014-02-03 21:43:57
【问题描述】:
public class CharNode {
private char _data;
private CharNode _next;
public CharNode(char dat, CharNode n) {
_data = dat;
_next = n;
}
public char getData() {
return _data;
}
public CharNode getNext() {
return _next;
}
public void setData(char d) {
_data = d;
}
public void setNext(CharNode node) {
_next = node;
}
}
public class CharList {
private CharNode _head;
public CharList( ) {
_head = null;
}
public CharList (CharNode node) {
_head = node;
}
public int subList(IntList list)
{
int count = 0;
IntNode listNode = _head;
IntNode otherListNode = list._head; ;
while (listNode != null)
{
if (otherListNode == null)
otherListNode = list._head;
if (listNode.getValue() == otherListNode.getValue())
{
listNode = listNode.getNext();
otherListNode = otherListNode.getNext();
if (otherListNode == null)
count++;
}
else
{
listNode = listNode.getNext();
otherListNode = list._head;
}
}
return count;
}
}
我需要编写函数public int subList (CharList list) 来获取list 并返回此列表存在的次数。
例如,如果我的列表是 a b c d a b g e 并且作为参数接收的列表是 a b 它将返回 2。
该方法应尽可能高效。
目前我的问题是我不知道如何同时遍历两个列表以比较值
【问题讨论】:
-
您对哪个部分有问题?找到任何子列表?计算子列表?让它变得高效?
-
如果元素是
char,为什么不直接使用字符串和基本的字符串方法呢? IE。在“aaaabcca”中搜索“ab” -
我们不会为您做这一切。到目前为止,您尝试过什么?
-
我不知道为了比较值而同时对两个列表进行热循环
标签: java