File tree Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Original file line number Diff line number Diff line change @@ -262,6 +262,60 @@ public void reorderList(ListNode head) {
262
262
}
263
263
```
264
264
265
+ 我的解答(完整版!time:击败99.99% 空间:击败25.82%):
266
+ ```
267
+ /**
268
+ * Definition for singly-linked list.
269
+ * public class ListNode {
270
+ * int val;
271
+ * ListNode next;
272
+ * ListNode() {}
273
+ * ListNode(int val) { this.val = val; }
274
+ * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
275
+ * }
276
+ */
277
+ class Solution {
278
+ public void reorderList(ListNode head) {
279
+ ListNode fast=head;
280
+ ListNode mid=head;
281
+ while(fast!=null&&fast.next!=null){
282
+ fast=fast.next.next;
283
+ mid=mid.next;
284
+ }
285
+ ListNode head1=this.reverseList(mid.next);
286
+ //很关键,没有这句话,就报:Found cycle in the ListNode
287
+ mid.next=null;
288
+ ListNode temp;
289
+ ListNode temp1;
290
+ ListNode p=head;
291
+ while(head1!=null){
292
+ temp=p.next;
293
+ temp1=head1.next;
294
+
295
+ head1.next=p.next;
296
+ p.next=head1;
297
+
298
+ p=temp;
299
+ head1=temp1;
300
+ }
301
+ }
302
+ public ListNode reverseList(ListNode head){
303
+ ListNode res=new ListNode(-1);
304
+ ListNode p=head;
305
+ ListNode beh;
306
+ while(p!=null){
307
+ beh=p.next;
308
+ p.next=res.next;
309
+ res.next=p;
310
+
311
+ p=beh;
312
+ }
313
+ return res.next;
314
+ }
315
+ }
316
+
317
+ ```
318
+
265
319
266
320
#### 回文链表
267
321
You can’t perform that action at this time.
0 commit comments