![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一道算法题
文章平均质量分 57
Vivien_o.O
除非你不想赢,否则没人能让你输
展开
-
如何计算 N叉树的最大深度
文章目录题目简述TreeNode代码LeetCode-559题目简述给定一个N叉树,找到其最大深度最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。TreeNode代码class Node { //值 public int val; //孩子结点 使用List集合存储 public List<Node> children; public Node() {} public Node(int _val) { v原创 2022-02-10 11:44:06 · 718 阅读 · 0 评论 -
计算树的深度
二叉树的最大深度原创 2022-01-28 16:08:40 · 3381 阅读 · 0 评论 -
用二分查找解决查找和插入
文章目录二分查找看图:二分查找Java代码基本解法递归二分查找二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。看图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7v1JuTZX-1640431345578)(C:\Users\strve\Documents\Tencent Files\602478845\FileRecv\IMG_20211225_190729原创 2021-12-25 19:23:09 · 870 阅读 · 0 评论 -
位运算实现二进制转换为十进制
首先看一小段代码int i =0;i = i<< 1;;这和i等于等于多少呢?答案是0;那如果在左移一位的情况下加1呢int i =0;i = i<< 1;;i= i+1;答案是1;那如果在左移一位呢?int i =0;i = i<< 1;;i= i+1;i = i<<1;结果为2,因为此时 i 的二进制位 1 0;如果在左移一位呢?结果为 4 , 二进制位1 0 0到了这里如果让你把100转换为十进制怎么转?第一原创 2021-12-20 20:25:45 · 1202 阅读 · 0 评论 -
【每日一题】反转链表
文章目录题目描述:示例:解法一:利用双指针代码:解答二:递归实现代码:题目描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例:解法一:利用双指针看图:首先创建一个temp空结点,用来实现链表的反向连接。ListNode empty = null;然后创建一个结点变量,用来在head结点反向连接之前,保存下一个结点。在head结点指向前面的结点移动temp到head移动head到提前保存的下一个结点 //保存head的下一个原创 2021-12-19 08:52:28 · 346 阅读 · 0 评论 -
【每日一题】环形链表-4种解法(3种击败100%的人)
文章目录题目描述示例:题目描述示例:原创 2021-12-16 08:57:08 · 257 阅读 · 0 评论 -
【每日一题】验证回文串
文章目录题目示例解法一:完整代码:解法二完整代码:解法三---替换掉所有不符合条件的字符题目示例解法一:利用正则表达式判断每个字符是否为字母或者数字,然后利用stringbuild进行拼接字母或者数字; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { //时字母和数字就拼接到string builder if (Ch原创 2021-12-15 08:27:14 · 394 阅读 · 0 评论 -
【每日一题】二进制求和---位运算(图解)
文章目录题目描述常规解法题目描述题目简单明了,我们直接给题解。常规解法看上图:很明显我们直到,二进制运算对2取余就是当前位,除于2就是进位。比如: 0+0=0;进位为0,当前位为0;0+1=1;进位位0,当前位为1;1+1=10;进位为1,当前位为0;从后往前运算,每次从a和b各取一个数字和进位相加;每次得到的当前位的结果,拼接起来,进位放在下一位运算。 ans.append(sum % 2); //除二为进位原创 2021-12-13 23:18:12 · 1690 阅读 · 2 评论 -
【每日一题】有效的括号
leetcode算法题-有效的括号原创 2021-12-08 16:44:29 · 255 阅读 · 0 评论 -
【每日一题】整数反转
整数反转思路:题目中说的是整数的反转,我们可以很自然的想到stack和stringBuild来实现整数的反转,先将整数转化为字符串,然后对字符串进行操作,实现字符串的反转,最后在进行判断。需要注意的是,题中提示假设环境只能存储32位的整数,所以不能利用long来存储大于int最大值的整数,当然用int存的话会发生数据溢出,导致结果的不正确。解析:首先我们需要实现的是整数的反转。比如说我们有一个数字123首先我们取出最后一个数字(123%10=3),赋给res = 3 ;然后让x/10,x原创 2021-12-07 13:32:37 · 294 阅读 · 0 评论 -
【每日一题】最长公共前缀
题目描述:一、暴力破解思路:题目中要求的是返回字符串数组中的公共前缀,那么我们可以逐个字符进行比较,先比较第一个字符,看所有的字符串是否都有,如果都有就将这个前缀保存起来,然后截取两个,一直截取,直到没有公共前缀为止。将保存起来的公共前缀返回。public static String longestCommonPrefix(String[] strs) {//字符串数组为空 直接返回空字符串 if (strs.length == 0){ return ""原创 2021-12-06 15:10:16 · 323 阅读 · 0 评论