crazyliu的博客

一个脱离高级趣味的人

LeetCode: 单值二叉树

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回true;否则返回 false。 示例 1: 输入:[1,1,1,1,1,null,1] 输出:true 示例 2: 输入:[2,2,2,5,2] 输出:false 提示: 给定树的...

2019-07-12 19:40:45

阅读数 10

评论数 0

LeetCode: 二叉树的层次遍历 和

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] ...

2019-07-12 19:28:49

阅读数 20

评论数 0

LeetCode: 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4-&am...

2019-07-10 20:09:23

阅读数 42

评论数 0

LeetCode: 合并两个有序数组

给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。 说明: 初始化nums1 和 nums2 的元素数量分别为m 和 n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。 示例: ...

2019-07-10 19:19:54

阅读数 15

评论数 0

C++ const 总结

C++const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,可以减少奇怪的BUG。 1. 修饰普通成员变量 对于指针和引用类型,const一般分为顶层const和底层const。顶层cons...

2019-05-25 16:38:39

阅读数 9

评论数 0

C++ 虚函数

一般继承(无虚函数覆盖) #include<iostream> using namespace std; class Base { public: virtual void f() { cout << "...

2019-05-23 12:44:33

阅读数 10

评论数 0

LeetCode: 矩阵置0

给定一个mxn的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例2: 输入: [ ...

2019-05-13 11:05:08

阅读数 20

评论数 0

深入解析二分查找

在写代码的过程中经常会用到二分查找,不论是刷题还是写业务代码。虽然它的思想简洁,作用强大,但不一定你就能很好的掌握它。过去一直被二分查找和二分查找的变种的边界条件困扰,今天一并整理他们的边界条件。 1. 二分查找 int binary_search_equal(int *nums, int ...

2019-05-10 16:53:20

阅读数 14

评论数 0

LeetCode:在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是O(logn) 级别。 如果数组中不存在目标值,返回[-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target ...

2019-05-08 12:20:03

阅读数 14

评论数 0

LeetCode: 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。 示例1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2-&a...

2019-05-08 09:30:59

阅读数 14

评论数 0

LeetCode: 搜索二维矩阵

编写一个高效的算法来判断mxn矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23,...

2019-05-08 08:54:18

阅读数 22

评论数 0

LeetCode: 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3→1,3,23,2,1→1,...

2019-05-06 16:42:02

阅读数 34

评论数 0

LeetCode: 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出n=3,生成结果为: [ "((()))", "(()())", "(())()", "()(())&quo...

2019-05-03 15:05:22

阅读数 8

评论数 0

LeetCode: 四数之和

给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums = [1, 0, -1, 0, -2...

2019-05-03 14:33:06

阅读数 11

评论数 0

LeetCode: 最接近的三数之和

给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为...

2019-05-03 14:15:42

阅读数 25

评论数 0

LeetCode: 三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: ...

2019-05-03 12:32:46

阅读数 10

评论数 0

LeetCode: 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1: 输入: ["flower","flow","flight"] 输出: "fl" 示例2:...

2019-05-02 19:26:16

阅读数 17

评论数 0

LeetCode: 盛最多水的容器

给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且n的值至少为 2。 图中垂直线代表输入数...

2019-05-02 18:57:49

阅读数 14

评论数 0

LeetCode: 后序遍历

给定一个二叉树,返回它的后序遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶:递归算法很简单,你可以通过迭代算法完成吗? /** * 递归版本 * Definition for a ...

2019-05-02 18:44:37

阅读数 9

评论数 0

LeetCode: 前序遍历

给定一个二叉树,返回它的前序遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶:递归算法很简单,你可以通过迭代算法完成吗? /** * 递归版本 * Definition for a b...

2019-05-01 12:17:44

阅读数 12

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭