随笔分类 -  leetcode刷题总结

8.翻转链表
摘要:leetcode题目位置:面试题24.反转链表 https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/ 思路:借助栈的先进后出来进行反转,或者通过一个next节点来进行保存要反转到头的那个节点,防止链断裂 /** * Definition 阅读全文
posted @ 2020-03-29 09:37 慢漫长路 阅读(110) 评论(0) 推荐(0)
7.两数相加(数存储在链表里)
摘要:leetcode原题为第445. 两数相加 II 高位存储在链表头结点,思路:将两数都存到栈里,然后在分别出栈相加即是对应位的相加再存到链表里 /** * Definition for singly-linked list. * public class ListNode { * int val; 阅读全文
posted @ 2020-03-27 23:03 慢漫长路 阅读(201) 评论(0) 推荐(0)
6.Java中的链表数据结构ListNode
摘要:class ListNode{ int val; //该节点的值 ListNode next; //下一节点的位置 } 阅读全文
posted @ 2020-03-26 23:31 慢漫长路 阅读(2062) 评论(0) 推荐(0)
5.把字符串转换成整数
摘要:题目描述: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是 阅读全文
posted @ 2020-03-26 21:59 慢漫长路 阅读(402) 评论(0) 推荐(0)
4.最长回文子序列----动态规划
摘要:解题思路: 状态f[i][j] 表示 s 的第 i 个字符到第 j 个字符组成的子串中,最长的回文序列长度是多少。 转移方程如果 s 的第 i 个字符和第 j 个字符相同的话f[i][j] = f[i + 1][j - 1] + 2如果 s 的第 i 个字符和第 j 个字符不同的话f[i][j] = 阅读全文
posted @ 2020-03-26 20:50 慢漫长路 阅读(274) 评论(0) 推荐(0)
3.二分查找算法精髓
摘要:int left = 0, right = m * n - 1; int pivotIdx, pivotElement; while (left <= right) { pivotIdx = (left + right) / 2;//中间点 pivotElement = matrix[pivotId 阅读全文
posted @ 2020-03-13 22:57 慢漫长路 阅读(203) 评论(0) 推荐(0)
2.无重复字符的最长子串
摘要:class Solution { public int lengthOfLongestSubstring(String s) { int l=1; int change=1; int r=1; char [] q=s.toCharArray();//字符串转换成字符数组 for(int i=0;i< 阅读全文
posted @ 2020-02-27 16:21 慢漫长路 阅读(263) 评论(0) 推荐(0)
1.整数反转
摘要:1.如何反转 2.反转溢出问题 (1)我觉得溢出这个最简单的解决办法就是捕获异常,返回0 (2)2的31次方,Math.pow(2,31) (3)为了解决溢出问题,我们使用了long类型来存储结果,最后判断一次即可 阅读全文
posted @ 2019-08-26 17:27 慢漫长路 阅读(133) 评论(0) 推荐(0)