剑指offer
WJsuperrunner
学无止境
展开
-
剑指offer:二叉树镜像(递归+循环)
class Solution {public:/*递归*/void Mirror(TreeNode *pRoot) { if (pRoot == NULL) return; if (pRoot->left == NULL&&pRoot->right == NULL) return; TreeNode*tempNode = pRoot->...原创 2018-07-06 15:03:31 · 209 阅读 · 0 评论 -
最长无重复字符子串
题目描述:对于一个字符串,请设计一个高效算法,找到字符串的最长无重复字符的子串长度。给定一个字符串A及它的长度n,请返回它的最长无重复字符子串长度。保证A中字符全部为小写英文字符,且长度小于等于500。测试样例:"aabcb",5返回:3哈希表map ---统计了每种字符之前处出现的位置;变量pre ---代表以是s[i-1]结尾的情况下,该字符上次出现的位置(最长...原创 2018-08-31 13:46:25 · 276 阅读 · 0 评论 -
最长有效括号
leedcode32:给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"思路:首先生成一个长度和s一样的数组dp[],dp[i]表示以i结尾的字符的最长有效括号子串长度。...原创 2018-08-31 16:01:39 · 236 阅读 · 0 评论 -
最长回文子序列(递归+动态规划)
递归比较简单class Solution {public: int longestPalindromeSubseq(string s) { return LFS(s,0,s.size()-1); } int LFS(string s,int begin,int end) { if(begin==end) return 1; ...原创 2018-08-31 21:40:34 · 1139 阅读 · 0 评论 -
最长回文子串(马拉车算法)
class Solution {public: string longestPalindrome(string s) { string str = "$#"; //统一扩展,解决奇偶差异性问题 for (int i = 0; i < s.size();i++) { str += s[i]; str += '#'; } vector&...转载 2018-08-31 21:56:57 · 242 阅读 · 0 评论