摘要:
题目大意: 把给定的字符串按照给定的行数进行“之”字形排列,最后按行输出排列的结果。 定义一个string数组 包括numRows项,每一项都是对应图中的每一行。 阅读全文
摘要:
写了一个爆搜,超时了,所以更改了一个方法,使用flag数组记录标志, 动态规划,类似于lcs的解法,数组flag[i][j]记录s从i到j是不是回文 首先初始化,i>=j时,flag[i][j]=true,这是因为s[i][i]是单字符的回文,当i>j时,为true,是因为有可能出现flag[2][ 阅读全文
摘要:
题目大意:找到两个排序数组的中位数。 水了一发,将两个数组合并为一个数组,直接输出中位数了。(可见leetcode好像并没有对时间进行控制)。 另一种方法: 该问题换成另一种说法就是:寻找两个数组中第K小的数字,这里K=(m+n)/ 2。 首先假设数组A和B的元素个数都大于k/2,我们比较A[k/2 阅读全文
摘要:
用c++实现单链表的逆序输出。 题目描述:在已知单链表头节点的情况下,设计算法逆置单链表并输出 方法一:采用首先将头节点指向空,让其变为尾节点,然后利用中间节点 p、q 将其后的节点一个接一个改为指向前面的节点 阅读全文
摘要:
7. Reverse Integer (略坑:) ) 使用变量rec只是为了判断一下是否越界。 阅读全文
摘要:
本问题是求最长不重复子串。 给出一种方法: 例如:aplsdfgsjiuk,设置一个最长子串的起始位和结束位,a为起始位,b为结束位,当遍历aplsdfg时,下一位s重复,所以可以从d为起始位置在遍历。 时间复杂度为O(n)。 阅读全文
摘要:
第一次写的有些麻烦,不好,问题关键是默认两个链表长度相等,前面补0即可。 阅读全文
摘要:
public class Solution { public int[] twoSum(int[] nums, int target) { int []sum = new int[2]; for(int i = 0; i < nums.length;i++) { for(int j = i+1; j < n... 阅读全文
摘要:
给出一个二叉树,输出它的最大宽度和高度。 输入: 第一行一个整数n。 下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。 5 2 3 4 5 0 0 0 0 0 0 阅读全文