lintcode 中的第 102 题,检查一个链表中是否带环
This commit is contained in:
parent
80f81f5679
commit
61e4047232
@ -0,0 +1,64 @@
|
|||||||
|
package com.ossez.lang.tutorial.tests.lintcode;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.ossez.lang.tutorial.models.ListNode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 1480
|
||||||
|
* <ul>
|
||||||
|
* <li>@see
|
||||||
|
* <a href= "https://www.cwiki.us/display/ITCLASSIFICATION/Dot+Product">https://www.cwiki.us/display/ITCLASSIFICATION/Dot+Product</a>
|
||||||
|
* <li>@see<a href= "https://www.lintcode.com/problem/dot-product/">https://www.lintcode.com/problem/dot-product/</a>
|
||||||
|
* </ul>
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author YuCheng
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class LintCode0102HasCycleTest {
|
||||||
|
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(LintCode0102HasCycleTest.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testMain() {
|
||||||
|
logger.debug("BEGIN");
|
||||||
|
// INIT LINKED LIST
|
||||||
|
ListNode head = new ListNode(1);
|
||||||
|
head.next = new ListNode(2);
|
||||||
|
head.next.next = new ListNode(3);
|
||||||
|
head.next.next.next = new ListNode(4);
|
||||||
|
|
||||||
|
// CREATE A LOOP
|
||||||
|
head.next.next.next.next = head.next.next.next;
|
||||||
|
|
||||||
|
boolean retResult = false;
|
||||||
|
|
||||||
|
// LIKED LIST MAY NULL:
|
||||||
|
if (!(head == null || head.next == null)) {
|
||||||
|
ListNode s = head;
|
||||||
|
ListNode f = head.next;
|
||||||
|
|
||||||
|
while (f.next != null && f.next.next != null) {
|
||||||
|
|
||||||
|
s = s.next;
|
||||||
|
f = f.next.next;
|
||||||
|
|
||||||
|
if (f == s) {
|
||||||
|
retResult = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(retResult);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user