
每日一道LeetCode题
迈入了研一下学期的阶段,深知自己coding和基础能力的不足,每日一道LeetCode题,写出解题思路和代码,做个自我记录和积累。
liuzengyuan10
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
每日一道leetcode题 104.二叉树的最大深度
1.思路 递归,不断找寻两个子树的最大深度 根节点的最大深度= 子树的最大深度 + 1; 2.代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(...原创 2020-03-25 22:31:15 · 193 阅读 · 0 评论 -
每日一道leetcode题 94.二叉树的中序遍历
1.思路 递归是用二叉树的中序遍历 中序: void fun( T) { fun(T->left); T->val; fun(T->right); } 前序 void fun( T) {T->val; fun(T->left); fun(T->right); } 后序 void fun( T) { fun(T->l...原创 2020-03-24 20:09:25 · 214 阅读 · 0 评论 -
每日一道leetcode题 101.对称二叉树 (二叉树)
1. 题目描述 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 2.思路 递归, 递归的终...原创 2020-03-23 23:13:36 · 163 阅读 · 0 评论 -
每日一道leetcode题 92.反转链表
1.思路 //思路:head表示需要反转的头节点,pre表示需要反转头节点的前驱节点 //我们需要反转n-m次,我们将head的next节点移动到需要反转链表部分的首部 //需要反转链表部分剩余节点依旧保持相对顺序即可 //比如1->2->3->4->5,m=1,n=5 //第一次反转:(pre)1(head) 2(next) 3 4 5 反转为 2 1 3 4 5 /...原创 2020-03-20 13:18:56 · 195 阅读 · 0 评论 -
每日一道leetcode题 86.分隔链表
1. 思路 新建里两个链表, 一个存放比x小的数; 另一个存放比x大的数; 最后连接两个链表 2.代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(N...原创 2020-03-19 22:13:25 · 158 阅读 · 0 评论 -
每日一道leetcode题 82.删除排序链表中的重复元素
1.思路 找到链表中相同的元素,然后跳过这些元素,指向下一组元素; 存在问题, a.没有删除节点, b.还有其他思路) 2.代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : v...原创 2020-03-18 22:14:49 · 247 阅读 · 0 评论 -
每日一道leetcode题 24.两两交换链表中的节点(链表)
题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 解题思路 1. 迭代 我们要交换的一对链表分为两部分,奇数节点为一部分,偶数节点为另一部分。A 指的是这一部分交换节点中的前面的节点,B ...原创 2020-03-17 20:22:21 · 221 阅读 · 0 评论 -
每日一道leetcode题 19.删除链表的倒数第N个节点
最近开始刷链表题目 1.思路 有两种思路 a. 两次遍历法:第一次遍历确认链表长度,第二次遍历删除第L-n+1个节点(即倒数第n个节点); b.一次遍历(利用双指针实现),使用两个指针,两个指针相距n个节点,这样当第一个指针遍历到链表尾部时,第二个指针位置为倒数第n个节点 2.代码 /** * Definition for singly-linked list. * str...原创 2020-03-16 22:14:34 · 180 阅读 · 1 评论 -
DAY04 219.存在重复元素② (数组)
0.导语 本来想着今天做一道简单题目,却被卡了这么久; 1.题目描述 给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums [i] = nums [j],并且 i 和 j的差的绝对值最大为 k。 示例1: 输入: nums = [1,2,3,1], k = 3 输出: true 示例 2: 输入: nums = [1,0,1,1], ...原创 2020-03-13 10:54:28 · 161 阅读 · 0 评论 -
DAY03 74.搜索二维矩阵
1. 题目 编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] target = 3 输出: true 示例2:...原创 2020-03-12 14:05:11 · 142 阅读 · 0 评论 -
DAY2 50.Pow(x,n) (二分查找+递归)
1.题目描述 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 1/4 = 0.25 说明: -100.0 < x < 1...原创 2020-03-11 16:52:24 · 191 阅读 · 0 评论 -
DAY1 29.两数相除(二分查找)
1.题目描述 给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数dividend除以除数divisor得到的商。 示例1: 输入: dividend = 10, divisor = 3 输出: 3 示例2: 输入: dividend = 7, divisor = -3 输出: -2 说明: 被除...原创 2020-03-10 11:48:44 · 409 阅读 · 0 评论