欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

leetcode--Reorder List

发布时间:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode--Reorder List 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Given a singly linked list LL0→L1→…→Ln-1→Ln,
reorder it to: L0→LnL1→Ln-1→L2→Ln-2→…

You must do this in-place without altering the nodes' values.

For example,
Given {1,2,3,4}, reorder it to {1,4,2,3}.

 

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public void reorderList(ListNode head) {if(head != null){ListNode stepOne = head, stepTwo = head;while(stepTwo.next != null){if(stepTwo.next != null)stepTwo = stepTwo.next;if(stepTwo.next != null){stepTwo = stepTwo.next;stepOne = stepOne.next;}}if(stepOne.next != null){stepTwo = stepOne.next;stepOne.next = null;ListNode tailOfSecond = stepTwo;stepOne = stepTwo;if(stepTwo.next != null)stepTwo = stepTwo.next;while(stepTwo.next != null){ListNode temp = stepTwo.next;stepTwo.next = stepOne;stepOne = stepTwo;stepTwo = temp;}stepTwo.next = stepOne;tailOfSecond.next = null;}stepOne = head;if(stepTwo != stepOne){while(stepTwo != null){ListNode temp = stepOne.next;stepOne.next = stepTwo;stepOne = stepOne.next;stepTwo = temp;}}}        }
}

  

转载于:https://www.cnblogs.com/averillzheng/p/3552936.html

总结

以上是生活随笔为你收集整理的leetcode--Reorder List的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。