leetcode--Reorder List
生活随笔
收集整理的這篇文章主要介紹了
leetcode--Reorder List
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Given a singly linked list?L:?L0→L1→…→Ln-1→Ln,
reorder it to:?L0→Ln→L1→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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 针对JavaScript的常用事件、对象
- 下一篇: hdu2104