链表找环
思路
创建两个指针1和2(两个对象引用),同时指向这个链表的头节点。
首先创建两个指针1和2(在java里就是两个对象引用),同时指向这个链表的头节点。然后开始一个大循环,在循环体中,让指针1每次向下移动一个节点,让指针2每次向下移动两个节点,然后比较两个指针指向的节点是否相同。如果相同,则判断出链表有环,如果不同,则继续下一次循环。
java代码
public boolean isPalindrome(ListNode head) {
ListNode fast = head;
ListNode slow = head;
while(true){
if (fast != null && fast.next != null && slow !=null){
fast = fast.next.next;
slow = slow.next;
if (fast == slow){
return true;
}
}else {
return false;
}
}
}
- 作者:麦克猫Cat
- 本文版权归作者和CSDN共有,欢迎交流