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. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public void reorderList(ListNode head) { if (head == null || head.next == null) { return; } ListNode n1 = head; ListNode n2 = head; while (n2.next != null && n2.next.next != null) { n1 = n1.next; n2 = n2.next.next; } n2 = n1.next; n1.next = null; ListNode right = reverse(n2); merge(head, right); } private void merge(ListNode head, ListNode right) { // TODO Auto-generated method stub ListNode next = null; while (head.next != null) { next = right.next; right.next = head.next; head.next = right; head = right.next; right = next; } head.next = right; } private ListNode reverse(ListNode n2) { // TODO Auto-generated method stub ListNode pre = null; ListNode next = null; while (n2 != null) { next = n2.next; n2.next = pre; pre = n2; n2 = next; } return pre; } }
相关推荐
介绍了Ajax控件-ReorderList的使用方法:添加数据,修改数据,删除数据,以及拖动排序。除了修改数据有部分代码,其他功能皆无代码(ReorderList的界面拖动排序也无需代码),都是一次性绑定数据源控件。~~还在为网络...
ASP.NET AJAX的ReorderList控件是可以实现无排序数据绑定的列表控件,从名字上就可以看出来因为它是Reorder的,也就是说能够通过和服务器端交互数据重新排序绑定的数据项。要实现重排序,用户只需简单的拖动某条记录的...
语言:English (United States) 重新排序列表/库列 它是针对SharePoint用户和开发人员的工具。 该工具将有助于对列表或库列进行重新排序。 首先,登录到SharePoint...https://github.com/dipongkor/reorder-rolumns.git
2. 创建ReorderList控件:在ASP.NET页面上声明ReorderList,设置必要的属性,如TargetControlID(指定数据绑定的目标控件)和DragDropBehaviour(定义拖放行为)。 3. 数据绑定:将列表数据源绑定到ReorderList,...
代码中定义了一个`Solution`类,其中`findMiddle`方法用于寻找链表的中间节点,`reverse_list`方法用于反转链表,`reorderList`则是主方法,完成链表的重排操作。`reorderList`中先检查链表长度,对于长度小于等于3...
在提供的 `Solution` 类中,`reorderList` 函数实现了以上步骤。首先检查链表是否为空,然后执行上述三个步骤。这个函数的时间复杂度是 O(n),因为我们需要遍历链表两次,一次找到中间节点,一次进行合并;空间...
def reorderList(head): if not head or not head.next: return head mid = find_mid(head) next_to_mid = mid.next mid.next = None right = reverse_list(next_to_mid) left = head right_tail = None ...
python python_leetcode题解之143_Reorder_List
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
def reorderList(self, head: ListNode) -> None: if not head or not head.next: return # 找到链表中点 mid = self.findMid(head) # 反转后半部分链表 l2 = mid.next mid.next = None l2 = self....
javascript js_leetcode题解之143-reorder-list.js
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
利用ReorderList控件实现拖拽排序;利用Rating控件实现评分功能;利用Accordion控件实现QQ样式的菜单。 第6章 注册登录。 第8章 留言本。 第9章 分页模块。 第10章 文件上传显示进度条功能。 第11章 相册模块。 第12...
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、CascadingDropDown、ReorderList、SlideShow等,...
- **Reorder List**:按照特定规则重新排列链表。 - **Partition List**:将链表按值分割成两个部分。 - **Add Two Numbers**:两个非负整数相加,结果存储在链表中。 - **Copy List with Random Pointer**:...