链表
shoushudao111
这个作者很懒,什么都没留下…
展开
-
翻转链表
链表翻转:解法1:非递归形式,时间复杂度O(n),就地翻转时,会失去很多信息,因此需要保存前驱节点 ,后继节点的信息。解法2:递归形式。因为链表翻转是将最后一个元素放到第一个,第一个放到最后,遍历时由只能从前向后,这符合栈后进先出的特点,考虑的使用栈会增加空间的开销,因为可以使用具有后进先出特性的递归。class Solution{ public ListNode Rever...原创 2018-11-17 00:44:21 · 114 阅读 · 0 评论 -
143. Reorder List
143. Reorder List求链表中间节点是可以使用这个方法,两个节点,一个每次走一步,一个每次走两步,那么最后走一次的就在中间。不用求出总长度,在遍历到中间来求中间节点。另外对于题目:应该先使用例子,画图,然后找边界,一直苦想很浪费时间!!!class Solution { public void reorderList(ListNode head) { ...原创 2018-11-18 16:27:08 · 131 阅读 · 0 评论