Jack在长安
Jack在长安
全部文章
分类
DS(1)
LeetCode(4)
未归档(12)
归档
标签
去牛客网
登录
/
注册
Jack在长安的博客
My Java Blog
全部文章
(共17篇)
LeetCode.27 移除元素
题目链接:移除元素 分析: 给定一个数组,先创建一个临时变量,然后从前向后依次遍历 遇到不是要删除的 target,就把该值赋给临时变量代表的在数组里的位置 然后将临时变量作为指标再次更新(向后走,自身的值+1) 继续向后遍历,接收新的遍历的值(重复上述过程) 最后返回 临时变量的值,表...
2019-08-09
0
456
LeetCode.21 合并两个有序链表
题目链接:合并两个有序链表 分析: 有两个链表 L1 和 L2 首先要判断的是,给定的两个链表是否存在 null 的情况 L1为空 ,那么返回的是L2;L2为空,返回的是L1 当两个链表 都不为空,就需要进行判断,有序输出 因为是有序链表,所以就省了很多事 先用L1的node1和L2...
2019-08-08
0
362
LeetCode.20 有效的括号
题目链接:有效的括号 分析: 这里需要使用栈来进行操作 括号共分为三种:( )、{ }、[ ] 若要进行括号匹配,只需要把左括号全部压入栈中,再用右括号进行匹配( 遇到左括号压入栈,遇到右括号去进行判断匹配 ) 栈中的元素不停的弹出,然后和右边的括号进行匹配 例如:栈中的元素是这样:( ...
2019-08-07
0
389
LeetCode.13 罗马数字转整数
题目链接:罗马数字转整数 分析: 如图示意: 例如,我们给定一个罗马字母 CXCI,其对应的真实数字应该为191 在编程的时候,把每个字母逐个解析的话,是这样:C + X + C + I = 100 + 10 + 100 + 1 = 211 这样结果就不对了,应该是再减去差值,也就是...
2019-08-07
0
449
LeetCode.2 两数相加
题目链接:两数相加 分析: 在两数相加的过程中,存在下面三种情况: 1. A的位上有数字,B的位上也有数字 那么相加后的和的该位上的数值应该是A的该位上对应的数字加上B的该位上对应的数字再加上前面的进位val 该位上的数字,应该是上面的得到的和对10取余,例如和为15,那么该位上的数字应该...
2019-08-07
0
370
LeetCode.1 两数之和
题目链接: 两数之和 分析: 1. 如果一层一层遍历的话,比较麻烦,时间复杂度是O(n^2),采用下面的方法会更好一些,时间复杂度为O(n) 2. 可以借助HashMap,把每一次查找的元素都放在map中 3. 目前遍历的数假设是A,那么实现目标的另一个数字 B 应满足 B = Targe...
2019-08-04
0
378
LeetCode.9 回文数
题目链接: 回文数 分析: 1. 首先判断该数字num有多少位 此处用一个循环,赋一个值div,用给出的数字num除以div,然后不断地给div乘10,直到div满足条件 2. 计算出最高位的数字left 用给出的数字num除以div(也就是num的位数),就可得到最高位left 3....
2019-08-04
0
366
二叉搜索树概念的引出和三种遍历方式(前中后序 & 代码实现)
二叉树是一种非线性的结构 作为二叉树,其最多只有两个子树 本篇博客介绍的二叉搜索树,是使用最多的二叉树之一 二叉搜索树的特点: 1. 二叉搜索树每个节点的值大于左子树所有节点的值,小于其右子树所有节点的值 2. 不含重复元素 3. 元素具有可比较性 /** 既然要实现“比较”的功能 ...
2019-05-29
0
475
使用队列实现栈,双队列解法
LeetCode #225 用队列实现栈 分析 : 1. 对于队列 A 来说,假如依次进来5个元素(由先至后的顺序):1、2、3、4、5 后面这5个元素,出队列的时候,依照队列的特点 —— “先进先出”,必然是 1最先出去,5最后出队列 2. 对于栈C来说,也同样是进入5个元素,按...
2019-05-28
0
1054
栈的简单介绍以及两种实现方法
栈的初步介绍 栈(stack)又名堆栈,它是一种运算受限的线性表。其只允许在固定的⼀端进行插⼊和删除元素操作 这一端被称为栈顶。相对地,把另一端称为栈底 压栈:栈的插⼊入操作叫做进栈/压栈/入栈,⼊数据在栈顶 它是把新进入的元素放到栈顶元素的上面,使之成为新的栈顶元素 出栈:栈的删除操作叫...
2019-05-24
0
531
首页
上一页
1
2
下一页
末页