LinkedListclass
Level 1 方法
String description()
拼接字符串描述
需要考虑到 链表没元素的情况
样例
基于对象的如下状态 list: <> 调用后 String returned = list.description() returned 应该是 "[]"
int size()
返回当前链表尺寸
需要考虑到 链表没元素的情况
样例
基于对象的如下状态 list: <> 调用后 int returned = list.size() returned 应该是 0
boolean isEmpty()
返回当前链表是否为空
需要考虑到 链表没元素的情况
样例
基于对象的如下状态 list: <> 调用后 boolean returned = list.isEmpty() returned 应该是 true
Level 2 方法
int get(int index)
返回第 index 个元素的值
需要考虑到 链表没元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 int returned = list.get(1) returned 应该是 -1
int lastValue()
返回最后一个值
需要考虑到 链表没元素的情况
样例
如果没有最后一个值,则返回 -1
基于对象的如下状态 list: <> 调用后 int returned = list.lastValue() returned 应该是 -1
int indexOf(int value)
查找 value 值对应的结点的索引
如果有多个, 返回第一个
如果没有,返回 -1
需要考虑到 链表没元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 int returned = list.indexOf(7) returned 应该是 -1
boolean contains(int value)
查找链表内是否含有 value 这个值
需要考虑到 链表没元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 boolean returned = list.contains(7) returned 应该是 false
Level 3 方法
void add(int value)
增加一个新的结点在链表末端, 值为 value
需要考虑到 链表没元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 list.add(9) list 应该是 <9>
void push(int value)
增加一个新的结点在链表末端, 值为 value
需要考虑到 链表没元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 list.push(9) list 应该是 <9>
int pop()
删除一个在链表末端的结点, 并返回
如果没有元素可以删除,返回 -1
需要考虑到 链表没元素的情况 以及 只有一个元素的情况
样例 1
基于对象的如下状态 list: <> 调用后 int returned = list.pop() returned 应该是 -1 list 应该是 <>
样例 2
基于对象的如下状态 list: <3> 调用后 int returned = list.pop() returned 应该是 3 list 应该是 <>