摘要:这道题考使用回溯(递归的一种)进行深度优先算法,题目是这样的 数字n代表生产括号的对数,写一个算法,返回所有有效的括号组合 比如 n =1 代表生成1对括号,显然答案就是 “()" n = 2, 代表生成2对括号, 答案就是"()()","(())" n=3 代表生成3对括号,答案就是 "((())
阅读全文
摘要:这道题是这样的,就是说有一个链表LindedNode, 通常我们链表包含2个属性,一个是它的值val,另一个是它指向的下一个结点nextNode, 但是这个题目中的链表还有一个属性,就是它还有个随机指针,这个随机指针可能指向链表中的任意结点(包括链表的结尾null结点,或者是自己) 也就是说这个链表
阅读全文
摘要:这个题目是这样的,就是说有两个链表,这两个链表按照非递减的顺序排列, 我们要把这两个升序的链表合并,返回一个新的升序链表,新链表要求拼接给定的2个链表的所有结点,也就是说如果有重复的结点,也要全部返回列在新链表中 1->2->4 1->3->5 =》 返回的是 1->1->2->3->4->5 首先
阅读全文
摘要:这道题也是关于链表的题目,题目原意是这样的,给你一个链表,删除这个链表的倒数第n个结点,并返回头结点(也就是其余的结点组成的新链表) 比如 1->3->5->7->9 n =2 也就是删除倒数第2个结点,值为7的结点。返回头结点为 1->3->5->9 关于链表的算法题,首先我们要知道链表解题经典三
阅读全文
摘要:这是个关于链表的题目, 以前在C#中写代码时,对链表接触比较少,所以刚好接这个题目来更好的熟悉一下链表 题目大概是这样的,给你两个非空的链表,表示两个非负的整数. 它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字 =》 首先我们来理解这句话是什么意思 我们来看一个链表 1->5->
阅读全文
摘要:这道题是这样的,在一个给定的字符串中,要求你来找到不含有重复字符的最长子串的长度 比如 str = "abcabcbb" 没有重复字符的最长子串是 abc 所以长度为3 又比如 str = "abpwkewba" 没有重复字符的最长子串是 abpwke 所以长度为6 这个题目的解答,涉及到算法中的滑
阅读全文
摘要:之前,我做了一道简单的LettCode题,二数之和 https://www.cnblogs.com/wphl-27/p/17861539.html, 用的是数组和Map来实现的 现在这个题目是三数之和,题目是这样的 给定一个整数数组 intArr, 判断是否存在三元组 [intArr[i],intA
阅读全文
摘要:这道题主要是考双指针 题目大概是这样的,就是说给定一个长度为n的整数数组height, 代表Y轴上的n条垂线,其中,第i条线的两个端点是(i,0) 和 (i,height[i]) => 要在这n条垂线中找出其中的2条,使得它们和x轴共同构成的容器可以容纳最多的水 返回容器可以储存的最大水量 这个题目
阅读全文
摘要:这是一道中等难度题,首先我们来了解一下,什么是字母异位词 =》 由重新排列源单词的所有字母得到一个新单词 字母异位词 =》 它是这个意思,比如说一个字符串由3个字符abc组成, 就是"abc",现在我把组成这个字符串的字母顺序随意调换,比如变成 "bac","bca","cab"等, 这几个词就是字
阅读全文
摘要:给定一个整数数组 intArr, 还有一个目标值 targetValue, 需要在这个数组intArr中找出和为目标值targetValue的两个整数,并返回它们的数组下标 example: intArr = [2,7,11,15], target = 9, 显然两个值是2和7,它们的数组下标为0,
阅读全文