编写一个方法max(),接受一个链表的首结点作为参数,返回链表中键最大的节点的值。假设所有键均为正整数,如果链表为空则返回0。
public Integer max() {
if (!(first.item instanceof Integer)) {
StdOut.println("类型异常");
return 0;
}
if (first == null) {
return 0;
}
if (first.next == null) {
return (Integer) first.item;
}
Node<Integer> pointer = (Node<Integer>) first;
Node<Integer> max = (Node<Integer>) first;
while (pointer != null && pointer.next != null) {
pointer = pointer.next;
if (max.item.compareTo(pointer.item) < 0) {
max = pointer;
}
}
return max.item;
}