leetcode刷题
这个专栏只是记录一下题目及解法,方便自己查看复习。
诗人的情人
记录日常学习过程
展开
-
543. 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树 1 / 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 思路: 一个节点最长的边为,左子树深度+右子树深度。对于一个节点计算深度 /*...原创 2019-11-02 16:54:23 · 206 阅读 · 0 评论 -
538. 把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 5 / 2 13 输出: 转换为累加树: 18 / 20 13 /** * Definition for a binary tree node. * struct T...原创 2019-11-02 16:28:44 · 135 阅读 · 0 评论 -
437. 路径总和 III
给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/path-s...原创 2019-11-02 16:09:18 · 98 阅读 · 0 评论 -
461. 汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 思路: 1、采用异或的方法,相同为0,不同为1 0 0...原创 2019-11-02 16:08:15 · 152 阅读 · 0 评论 -
448. 找到所有数组中消失的数字
给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [5,6] C++ 实现代码:鸽...原创 2019-11-02 16:08:29 · 106 阅读 · 0 评论 -
148.排序链表
自己做链表的题很容易弄错,感觉对链表太不熟悉了。需要加强对链表的练习。 这种链表题有时感觉思路很简单,但是在写代码的过程中会发现处理起来要十分的细心。 下面代码记录两种实现方法(都是别人实现的方法)。 第一种方法(代码里注释掉的部分):不满足题目要求 创建一个map,记录出现的数字及其出现的次数,然后遍历map赋值给链表。 第二种方法:原文链接 1、设置快慢指针分割链表,递归; 2、对分割后的链表...原创 2019-11-02 16:09:33 · 114 阅读 · 0 评论 -
142. 环形链表 II
题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index ...原创 2019-11-02 16:09:49 · 87 阅读 · 0 评论