每日一道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 · 142 阅读 · 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 · 169 阅读 · 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 32.思路递归,递归的终...原创 2020-03-23 23:13:36 · 118 阅读 · 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 · 147 阅读 · 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 · 108 阅读 · 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 · 201 阅读 · 0 评论 -
每日一道leetcode题 24.两两交换链表中的节点(链表)
题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.解题思路1. 迭代我们要交换的一对链表分为两部分,奇数节点为一部分,偶数节点为另一部分。A 指的是这一部分交换节点中的前面的节点,B ...原创 2020-03-17 20:22:21 · 139 阅读 · 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 · 127 阅读 · 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 · 112 阅读 · 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 · 98 阅读 · 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 · 139 阅读 · 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 · 310 阅读 · 0 评论