![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode算法
文章平均质量分 50
xiaoshijiu333
farewell
展开
-
LeetCode-7:整数反转记录
整数反转LeetCode上的一道简单算法题记录两点注意点:Java里面 int加减超过最大范围(−2^31, 2^31 − 1),并不会报错。int类型,4个字节,32位,有一位符号位的存在。int超过正向的范围之后,之所以会变成负数,就是因为,正数的符号位,也就是最高位是0,当正数超过最大值时,再向前进一位,最高位由0变成了1,所以就由正数变成负数。超过负向范围,就会变成正数。示例:判断int是否越界:如判断res*10+mod的结果是否越界,if(res*10+mod>原创 2021-06-11 15:51:01 · 1055 阅读 · 1 评论 -
LeetCode链表相关问题总结
获取链表的长度两种方法 ListNode frist = head; int length = 0; // 先获得链表的长度 while (frist != null) { length++; frist = frist.next; }或者 ListNode frist = head; int length = 1;...原创 2019-08-10 17:18:16 · 218 阅读 · 0 评论 -
Arraylist的sublist方法分析
看到这样一道面试题,发现我对Arraylist的sublist方法了解的不够深借助这次机会决定好好看看这个sublist方法从源码解读public List<E> subList(int fromIndex, int toIndex) { subListRangeCheck(fromIndex, toIndex, size); return ne...原创 2019-08-24 15:06:05 · 959 阅读 · 0 评论 -
LeetCode链表算法——1019. 链表中的下一个更大节点
题目描述:题目链接:链表中的下一个更大节点读懂题目大致意思就是:求出链表每个结点的“最大值”,该“最大值”指的是,其后第一个结点值比他大的结点的值首先我想到的就是:两次循环,遍历每个结点,每个结点再往后遍历,找出其后第一个最大的结点的值即可详细代码:public int[] nextLargerNodes(ListNode head) { if (head == nu...原创 2019-08-11 19:40:54 · 564 阅读 · 0 评论 -
二叉树先序、中序、后序、层次遍历递归以及非递归算法实现
最近写了一下关于二叉树的三种遍历算法的递归以及非递归实现,以及层次遍历算法实现先序遍历递归实现 /** * 先序遍历,根》左》右 */ public void beforeTraverse(TreeNode root) { if (root == null) { return; } System...原创 2019-08-17 16:46:57 · 1960 阅读 · 0 评论 -
LeetCode二叉树算法——114. 二叉树展开为链表(原地算法)
题目描述:这里主要记录一下什么是原地算法:开始我以为原地算法必需是指空间复杂度为1但实际上原地算法:是直接在原来的节点上改变指向,返回值为void,空间复杂度并没有要求这题解法很多,我看到题目马上就想到就是比较暴力的解法:非递归先序遍历二叉树,将结点存在集合中,在遍历集合,令其左子树为空,右子树为下一个元素代码如下: /** * 原地算法:是直接在原来的节点上改变指向,...原创 2019-08-18 15:35:53 · 313 阅读 · 0 评论 -
0-1背包问题从不懂到运用
一. 理解0-1背包问题是个什么问题一个小偷带了一个只能容纳C的背包来店里偷东西,店里有n个商品,每个商品有重量和价值,n(w,v)问小偷能偷到的最大价值推荐一个视频,看完了可以很好的理解什么是背包问题,以及解决背包问题的思路、思想https://video.tudou.com/v/XMTc5MjQ3NTg5Mg==.html?__fr=oldtd在视频里面主要就是学会思想,实...原创 2019-09-09 14:55:27 · 232 阅读 · 0 评论