链表的回环问题 Found cycle in the ListNode
leetcode连接:https://leetcode.cn/problems/partition-list/
这题的难度不是很大,但一开始写的时候报了一个错误:在链表中找到循环。
于是开始推演了下原来的思路,经过调试后发现,因为链表不同于数组,我们的引用实际指向的是内存中的地址,出现环的问题是因为链表的结点相同。
出现环其实并不是个错误,真正错误的在于输出的时候会因为循环导致 OOM 的错误。
@Override
public String toString() {
StringBuilder str = new StringBuilder();
ListNode p=this;
while(p!=null){
str.append(p.val);
str.append(",");
p=p.next;
}
return str.toString();
}
⭐:总的来说,链表和数组是不同的,不能把链表的节点当做单独来处理,应该时刻注意引用指向的是内存地址。