
算法
ns_xlz
这个作者很懒,什么都没留下…
展开
-
将有序链表转换为高度平衡的二叉树
首先来看一个简单的例子,如何将有序数组转换为平衡二叉树? 模拟堆排序的方式,如果每次把数组的中位数当作根节点,把中位数左边的序列的中位数当作左子节点,右边的序列的中位数当作右子节点,递归上面的过程即可得到一个平衡二叉树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * ...原创 2018-07-29 23:30:01 · 750 阅读 · 0 评论 -
删除排序链表里面的重复元素,留下不重复的元素
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例 2: 输入: 1->1->1->2->3 输出: 2->3 分析:这种题一般分为两种实现,一种构建一个新的链表,一种是原地操作。...原创 2018-07-26 19:48:12 · 523 阅读 · 0 评论 -
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 这个就超级简单了,同样分构造新链表和原地。 构造新链表只用比较尾节点的值是不是等于要插入的值,如果是则不插入,如果不是则插入。 原地的话...原创 2018-07-26 19:56:20 · 3450 阅读 · 0 评论 -
反转从位置 m 到 n 的链表
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 思路:首先得找到位置m和m前的节点pre,然后把m后面的节点一个接一个的插入到pre的后面去。 ...原创 2018-07-26 20:21:12 · 789 阅读 · 0 评论 -
链表相加,每一个节点从高到低存储数字的一位。
给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)...原创 2018-07-30 11:21:28 · 453 阅读 · 0 评论 -
分割链表,将链表分割成k份
Given a (singly) linked list with head node root, write a function to split the linked list into k consecutive linked list "parts". The length of each part should be as equal as possible: no two part...原创 2018-07-30 14:46:51 · 434 阅读 · 0 评论 -
奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->...原创 2018-07-30 15:13:58 · 484 阅读 · 0 评论 -
重排链表
给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 给定链表 1->2->3->4->5, 重...原创 2018-07-30 16:02:03 · 269 阅读 · 0 评论 -
反转链表
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 这是一道非常简单的题,首先考虑原地非递归反转。用头插法即可。 /** * Definition for singly-linked li...原创 2018-07-30 16:18:01 · 329 阅读 · 0 评论