![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
小小小姝
一个试图苦苦挣扎的菜鸡。。
展开
-
leetcode之两个链表生成相加链表
题目:假设链表中每一个节点的值都在 0 - 9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1为 9->3->7,链表 2为 6->3,最后生成新的结果链表为 1->0->0->0。示例1输入:[9,3,7],[6,3]返回值:{1,0,0,0}备注:1≤n,m≤1061 \leq n, m \leq 10^61≤n,m≤1060≤ai,bi≤90 \leq...原创 2021-08-25 21:03:06 · 243 阅读 · 0 评论 -
leetcode:NC127 最长公共子串
题目:给定两个字符串str1和str2,输出两个字符串的最长公共子串题目保证str1和str2的最长公共子串存在且唯一。示例1输入:"1AB2345CD","12345EF"返回值:"2345"备注:1≤∣str1∣,∣str2∣≤5 0001 \leq |str_1|, |str_2| \leq 5\,0001≤∣str1∣,∣str2∣≤5000思路:动态规划问题。先确定状态,f(i, j)表示str1中前i个字符和str2中前j个字符中...原创 2021-08-25 20:07:38 · 217 阅读 · 0 评论 -
leetcode之按之字形顺序打印二叉树
题目:给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树之字形层序遍历的结果是[[1],[3,2],[4,5]]思路:比照层序遍历的方法。这里使用两个栈来实现存储每层节点。答案要求分层输出,是一个二维数组的形式,所以对于其中的一层来说,先利用stack1中的数据(这是上一层遍历时存到栈中的这一层的值)存到list中,然后按照层数分辨出左右子节...原创 2021-08-25 15:20:29 · 274 阅读 · 0 评论 -
leetcode之数组排序
题目:给你一个整数数组nums,请你将该数组升序排列。摘抄自leetcode大佬JavaEdison的代码class Solution { public int[] sortArray(int[] nums) { if(nums.length <=1)return nums; //qSort(nums,0,nums.length-1); //selectSort(nums); // insertSort(nums); ..原创 2021-08-23 16:20:52 · 177 阅读 · 0 评论 -
leetcode之合并两个有序数组
题目:给你两个按 非递减顺序 排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。代码:class Solu..原创 2021-08-19 15:28:24 · 137 阅读 · 0 评论 -
leetcode之有效的括号(C++)
题目:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法:思路:一开始,我使用栈作为s的存储,遇到括号在经过选择后就存入栈,...原创 2021-08-17 21:42:13 · 144 阅读 · 0 评论 -
leetcode之存在重复元素
题目:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。一开始自己使用了冒泡排序,然后就超时了。。。。horrible然后看了官方回答和题解,总结有三种方法:快排、哈希、大佬的方法。方法一:就是直接调用sort函数就可,然后再比较。但是!这里std:sort和sort方法竟然是不一样的,前者更快一些,我网上搜了一下,小白还是不理解,我打算沉淀一下再去专门搞一下这个。方法二:哈希,C++.原创 2021-08-17 16:28:48 · 113 阅读 · 0 评论 -
C++之哈希表(STL容器)
在刷算法题的时候,总是会遇到哈希表结构,而C++的STL是自带有哈希结构的。注:STL为C++标准库,一般有三个常用的:HP STL;P.j.Plauger STL;SGL STL。 其中HP STL是第一个实现的版本,也是大多数STL的蓝本。这三个里面,HP STL和SGL STL是开源的。SGL STL被Linux的C++编译器GCC采用,可读性较强。哈希表定义:哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通...原创 2021-08-17 16:07:04 · 1352 阅读 · 0 评论 -
leetcode之用队列实现栈
这是我在leetcode的正经八百的第二道题,思路还是没怎么又,所以膜拜了几个大佬和官方的答案,我发现答案看懂了以后就好简单呀,真不知道自己一开始为啥怎么都想不到!所以就简单记录一下。题目:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元...原创 2021-08-16 22:07:15 · 88 阅读 · 0 评论 -
合并两个有序链表(2)
后序来啦!!!之前说按照自己的思路走一走这个程序,今天走了一下,还是发现了一个很大的问题,那就是链表的first没有办法固定,或者说我不知道怎么固定!!!!!!horrible!!!如果有大佬知道怎么固定的话,可以留言告诉我嘛!题目和代码放到下面:题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * struct ListNode { *原创 2021-08-14 20:54:59 · 77 阅读 · 0 评论