摘要:
题目:数字翻转,即输入123,返回321;输入-123,返回-321。代码: 1 class Solution { 2 public: 3 int reverse(int x) { 4 int result = 0, sign = 1; 5 if(x < 0... 阅读全文
摘要:
题目:把一个字符串按照Z型排列后打印出来,例如"PAYPALISHIRING" 重新排列后为3行,即P A H NA P L S I I GY I R那么输出为"PAHNAPLSIIGYIR"解法:细节实现题,假如重新排列为5行,那么排列后的下标分布应该为0 8 ... 阅读全文
摘要:
题目:给定一个字符串S,返回S中最长的回文子串。S最长为1000,且最长回文子串是唯一。解法:①遍历,对于每个字符,计算以它为中心的回文子串长度(长度为奇数),同时计算以它和右边相邻字符为中心的回文子串长度(长度为偶数)。时间为O(N2)。②另外,有一个很奇妙的算法,称为Manacher算法,参考h... 阅读全文
摘要:
题目:两个数字求和,数字用链表表示,每一个结点代表一位。链表顺序与数字顺序相反,即表头存放数字的最低位。解法:分别遍历两个链表的每个结点,对两个结点求和即可。要维护一个变量保存每次相加之后的进位。更常见的,链表顺序与数字顺序相同,那么做一次链表逆序,求和之后再逆序回来即可。代码: 1 /** 2 ... 阅读全文