Leetcode个人解题总结 关于leetcode个人解题总结:LeetCode-Hot1001115 11. 盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点别离为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴独特形成的容器能够包容最多的水。阐明:你不能歪斜容器。
Leetcode个人解题总结 关于leetcode个人解题总结:刷题15回文链表 解法:先把链表中的元素值放入arrayList中,再判断arrayList的值是否回文来判断是否为回文链表。留神:不要把元素值放入int[]类型的数组,因为须要计算链表长度能力确定要开拓多大的int空间,消耗性能。
Leetcode个人解题总结 关于leetcode个人解题总结:刷题14两数相加-II 解法:加法运算从低位开始运算,但低位数字在链表的开端,因而能够借助栈的后入先出个性来解决。首先把两链表中的元素别离压入两个栈st1和st2,而后弹出两栈的栈顶元素和进位三数相加失去和sum(进位carry初始值为0),取和sum%10作为低位数,用链表节点保留,从头插入链表结尾,取carry=sum/10作为下一个高位数的进位。…
Leetcode个人解题总结 关于leetcode个人解题总结:刷题12-删除链表的倒数第-N-个结点 首先设置一个虚构头节点pre,目标是当删除的元素是第一个时,用pre头节点删除第一个节点操作很不便。指针first和second开始都指向虚构头节点pre。而后将second向后挪动n+1个节点,这样first和second就有n+1个节点。first和second指针每次往后挪动一个节点,这样当second指向链表尾部null时,first指针此时的地位为倒数第n…
Leetcode个人解题总结 关于leetcode个人解题总结:LeetCode-Hot100-510 示例 1:输出:s = “babad”输入:”bab”解释:”aba” 同样是合乎题意的答案。提醒:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成
Leetcode个人解题总结 关于leetcode个人解题总结:刷题11删除排序链表中的重复元素 双指针法:定义两个指针temp和cur,开始时,temp指向head,cur指向head.next。遍历链表,如果temp.val = cur.val,temp指向cur的下个节点,cur指针往后移一个节点,这时cur指向的节点为新节点,因而temp指针无需挪动,如果temp.val != cur.val,temp和cur都各往后挪动一个节点,晓得遍历完链表。
Leetcode个人解题总结 关于leetcode个人解题总结:刷题10归并两个有序的链表 解法:定义一个虚构头节点pre和一个永远指向链表尾部节点的指针temp,如果两链表都不为空,比拟两链表以后节点的值,较小的节点加链表尾部,以此类推,直到退出循环。退出循环时,如果两链表之前就不为空,则退出while肯定还有一个链表不为空,因为每个链表都是有序的,因而间接将没遍历完的链表增加到总链表尾部即可。…
Leetcode个人解题总结 关于leetcode个人解题总结:刷题9反转链表 利用栈后入先出的个性,先把链表的元素全副压入栈中,而后出栈,把每一个出栈的元素插在链表尾部,即可实现反转,能够利用虚构头节点来辅助,指针temp始终指向链表尾部节点,便于尾部插入元素。留神:在尾部插入最初一个元素时,肯定记得在尾部加上null,不然最初元素的next指向倒数第二个元素,呈现循环链表。
Leetcode个人解题总结 关于leetcode个人解题总结:刷题8找出两个链表的交点 思路:链表A和B同时登程,链表A走到开端,跳到B的结尾持续走,B走到开端,同样跳到A持续走,如果A,B不相等,继续执行,如果A,B相等,有两种可能:①A=B=null,A和B都来到了各自的开端,A,B无交点。②A=B=链表交点,该状况A,B存在交点,这时返回A,B任一节点即可。因而如果两个链表相交,返回的值是两链表第一个交点,…