摘要: 题目一:对链表进行排序。 方法一:利用数组进行排序。效率比较低。 代码 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val( 阅读全文
posted @ 2017-02-04 21:11 Kobe10 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 题目: 您将获得两个链接列表,表示两个非负数。 数字以相反的顺序存储,并且它们的每个节点包含单个数字。 添加两个数字并将其作为链接列表返回。 输入:(2→4→3)+(5→6→4) 输出:7 - > 0 - > 8 题目分析:这个是给定两个链表,链表各个位置上面的值想加,链表表示的逆向的整数,其实没差 阅读全文
posted @ 2017-02-04 19:33 Kobe10 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: 题目:实现strstr函数。 这个函数原型 strstr(char *a, char *b),在a中是否包含b这个字符串,包含返回第一个子串的位置,否则返回NULL。 思路:其实这个就是找子串的问题。特殊情况,当b为空的时候,直接返回a;当b不为空的时候,指定start指针,通过两次循环,逐一对st 阅读全文
posted @ 2017-02-04 18:43 Kobe10 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定两个字word1和word2,找到将word1转换为word2所需的最小步骤数。 (每个操作计为1步)。 您对单词允许以下3种操作: a)插入字符 b)删除字符 c)替换字符 思路: dp[i][j]指把word1[0..i - 1]转换为word2[0..j - 1] 的最小操作数。 阅读全文
posted @ 2017-02-04 17:05 Kobe10 阅读(6622) 评论(0) 推荐(0) 编辑
摘要: 题目一:最长连续回文子串。 问题分析:回文串顾名思义表示前后读起来都是一样,这里面又是需要连续的。分析这个问题的结构,可以想到多种方法。暴力解决的方式,2层循环遍历得出各个子串,然后再去判断该子串是否回文,这样的话O(N)=n的三次方,还有一种是dp解决。 解题方法一:暴力解决的方法。前面已经讲到了 阅读全文
posted @ 2017-02-04 16:13 Kobe10 阅读(3468) 评论(0) 推荐(1) 编辑
摘要: 【解析】 第一次看到这个题目的人,可能不知道ZigZag是什么意思,简单解释一下,就是把字符串原顺序012345……按下图所示排列: 发现所有行的重复周期都是 2 * nRows - 2 对于首行和末行之间的行,还会额外重复一次,重复的这一次距离本周期起始字符的距离是 2 * nRows - 2 - 阅读全文
posted @ 2017-02-04 10:43 Kobe10 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 给定两个二进制字符串,返回它们的和(也是一个二进制字符串)。 例如, a =“11” b =“1” 返回“100”。 直接给出代码吧,就是简单的位运算。从后往前逐位相加(编程int类型),carry记录进位情况。最后在判断最后一位情况。主要是考察十进制转为二进制或者二进制转为十进制 class So 阅读全文
posted @ 2017-02-04 10:38 Kobe10 阅读(3328) 评论(0) 推荐(0) 编辑