摘要: 题目:输入两个链表,找出它们的第一个公共结点。 思路:两个单链表从第一个公共节点后所有节点都会一样。可以暴力搜索,复杂度O(mn).可以从前往后,或者从后往前(利用栈)找到最后一个公共的节点。 阅读全文
posted @ 2019-03-06 00:23 琴影 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路:动态规划。直接用递归太费时。 阅读全文
posted @ 2019-03-06 00:19 琴影 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路:动态规划。 阅读全文
posted @ 2019-03-06 00:17 琴影 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:队列:先进先出。栈:先进后出。push操作的时候直接放入一个栈,pop操作的时候则从另一个栈取,那么另一个栈怎么存数据呢?当这个栈没有数据的时候,则从push栈取出所有数据,此时最先存进栈的数据回到这个 阅读全文
posted @ 2019-03-06 00:16 琴影 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:有很多方法,比如利用递归,只是要想办法去掉if终止条件判断,可以利用&&短路思想处理. 阅读全文
posted @ 2019-03-06 00:12 琴影 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 思路: 就这样,分别计算下三角和上三角,比如计算上三角的时候,利用动态规划思想,下三角同理 阅读全文
posted @ 2019-03-06 00:10 琴影 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:利用位运算 阅读全文
posted @ 2019-03-06 00:06 琴影 阅读(97) 评论(0) 推荐(0) 编辑