查看单链表中是否包含key元素
1 思路
- 定义cur来遍历单链表。
- 如果cur指向的结点里的数据等于key元素就返回true。
- 如果遍历结束找不到就返回false。
\
2 可以找到的过程
此时的cur不是要找的元素,cur指向下一个结点。
此时的cur是要找的元素,返回true。
3 找不到的过程
此时的cur不是要找的元素,cur指向下一个结点。
此时的cur不是要找的元素,cur指向下一个结点。
此时的cur不是要找的元素,cur指向下一个结点。
此时单链表遍历结束,还未找到key,结束查找,返回false。
4 代码实现
//查找key是否在单链表中 - 存在返回true,不存在返回false
public boolean contains(int key) {
ListNode cur = this.head;//代替head向后移动
while (cur != null) {
if (cur.value == key) {
return true;//相等返回true
}
//cur是此时头结点
//cur.next的意思是找到当前cur结点的指针域
cur = cur.next;//不相等继续找下一个结点
}
return false;//循环结束返回false
}