会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
价格探戈
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2019年7月9日
48 不用加减乘除做加法
摘要: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路来自于牛客网 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步:重复上述两步,
阅读全文
posted @ 2019-07-09 10:07 淡如水94
阅读(207)
评论(0)
推荐(0)
2019年7月8日
55 链表中环的入口结点
摘要: 题目要求:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路一: Floyd环判定算法 使用fastptr和sloeptr两个速度不相同的指针,一旦它们两个进入链表中的环,就肯定会相遇 时间复杂度O(n) 空间复杂度O(1) 错误代码:没有看清楚题目啊?不是让你判断链表
阅读全文
posted @ 2019-07-08 11:44 淡如水94
阅读(143)
评论(0)
推荐(0)
38 二叉树的深度
摘要: 题目要求:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路一:递归的方式 时间复杂度为O(n) 空间复杂度为O(n) 该方法存在堆栈溢出的风险,树的深度如果非常非常非常大 是会出现栈的溢出的 思路二:利用层次遍历,层的数目
阅读全文
posted @ 2019-07-08 10:36 淡如水94
阅读(120)
评论(0)
推荐(0)
2019年7月7日
36 两个链表的第一个结点
摘要: 题目要求:输入两个链表,找出它们的第一个公共结点。 这个题目有很多个思路, 假设链表一长度为m,链表二长度为n 思路一: 找出两个链表长度差,然后同时遍历 时间复杂度为O( max{m,n}) 空间复杂度为O(1) 但是代码太多了,敲着真得很不爽 1 /* 2 public class ListNo
阅读全文
posted @ 2019-07-07 11:55 淡如水94
阅读(167)
评论(0)
推荐(0)
2019年7月3日
34 第一个只出现一次的字符
摘要: 题目要求:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 方法一: 用键值对 hashmap是根据hash值来存储的,而linkedhashmap底层是链表,可以根据顺序存储。比如说输入c,a,h
阅读全文
posted @ 2019-07-03 12:18 淡如水94
阅读(171)
评论(0)
推荐(0)
2019年7月2日
33 丑数
摘要: 题目要求:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 判断方法 首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字
阅读全文
posted @ 2019-07-02 12:45 淡如水94
阅读(125)
评论(0)
推荐(0)
18 二叉树的镜像
摘要: 题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。 if (root.left != null) Mirror(root.left); if (root.right != null) Mirror(root.right); 最后两个if可以不需要 为啥不需要,加上判断程序不是更稳定么。 不加if
阅读全文
posted @ 2019-07-02 10:25 淡如水94
阅读(93)
评论(0)
推荐(0)
2019年7月1日
32 把数组排成最小的数
摘要: 题目要求:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 比较器就是一个接口,通过实现这个接口重写compare方法,返回正值代表大于返回0代表等于,返回负值代表小于。这
阅读全文
posted @ 2019-07-01 14:09 淡如水94
阅读(154)
评论(0)
推荐(0)
14 链表中倒数第K个节点 FindKthToTail
摘要: 输入一个链表,输出该链表中倒数第k个结点。 核心思想: 两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。 然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了 时间复杂度O(n),一次遍历即可 调试中出现的b
阅读全文
posted @ 2019-07-01 10:09 淡如水94
阅读(389)
评论(0)
推荐(0)
15 反转链表ReverseList
摘要: 输入一个链表,反转链表后,输出新链表的表头。 主要是三个指针在操控着反转的链表,A - -> B - -> C - -> D - -> E - -> F head一开始指向A nextnode指向了B A指向了prenode也就是空 A和B之间的链断开 head代表的A给了prenode,现在pre
阅读全文
posted @ 2019-07-01 10:05 淡如水94
阅读(561)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告