![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暑假leetcode100题
一边追光一边听雨
这个作者很懒,什么都没留下…
展开
-
2021-07-19
Leetcode暑假训练100题———第六题 剑指offer 15 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 思路分析: 方法一: 运用java中 的函数Integer中的toBinaryString()函数,直接将正整数n转换为二进制字符串,然后遍历字符串,寻找字符串中‘1’的个数。 代码如下: // java public class Solution { // you need to treat n a原创 2021-07-19 23:27:40 · 98 阅读 · 2 评论 -
2021-07-18
Leetcode暑假训练100题———第五题 剑指offer 54 定一棵二叉搜索树,请找出其中第k大的节点。 **题目分析:**由于是二叉搜索树,所以使用中序遍历,即可将结点进行从小到大排序。创建一个list来按序存储结点的值,最后直接返回第k大的结点。 代码如下: // JAVA List<Integer> list = new ArrayList<>(); public int kthLargest(TreeNode root, int k) {原创 2021-07-18 19:52:51 · 83 阅读 · 1 评论 -
2021-07-18
Leetcode暑假训练100题———第四题 剑指offer 17 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 题目分析: 方法一:简单解法 ①在不考虑大数溢出的前提下,该题的难度就较低,只需求出n位数的最大数,max=10的n次方-1,之后用一个循环即可按顺序打印出所有数字。 代码如下: // JAVA class Solution { public int[] printNumbers(int n) {原创 2021-07-18 16:07:13 · 55 阅读 · 0 评论 -
2021-07-16
Leetcode暑假训练100题———第三题 剑指Offer 22 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 题目分析: 利用快慢双指针解题,快指针先从head结点出发,当快指针运动到第k个结点时,慢指针再从head结点出发。这样如此运动,当快指针到达最后一个结点时,慢指针正好位于倒数第k个结点。原创 2021-07-16 22:54:25 · 77 阅读 · 1 评论 -
2021-07-16
Leetcode暑假训练100题———第二题 剑指Offer 58 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 简单题不做分析 方法一: // Java class Solution { public String reverseLeftWords(String s, int n) { return s.substrin原创 2021-07-16 18:38:02 · 59 阅读 · 0 评论