字符串
hebastast
这个作者很懒,什么都没留下…
展开
-
331. Verify Preorder Serialization of a Binary Tree
class Solution {private: vector<string> split(const string& src, string separate_character) { vector<string> strs; int separate_characterLen = separate_character.size();//分割字符串原创 2016-11-30 11:16:06 · 225 阅读 · 0 评论 -
283. Move Zeroes
class Solution { public: void moveZeroes(vector& nums) { int pos=0; int scan=0; int n=nums.size(); if(n==0) return; for(;scan原创 2016-11-14 10:04:29 · 211 阅读 · 0 评论 -
299. Bulls and Cows
class Solution {public: string getHint(string secret, string guess) { int n=secret.size(); if(n==0) return "0A0B"; int acount=0; for(int i=0;i<n;i++)原创 2016-11-16 11:59:25 · 238 阅读 · 0 评论 -
165. Compare Version Numbers
class Solution {public: int compareVersion(string version1, string version2) { int i=0; int j=0; int n1=version1.size(); int n2=version2.size(); int num1=0;原创 2016-10-06 14:35:59 · 260 阅读 · 0 评论 -
151. Reverse Words in a String
class Solution {public: void reverseWords(string &s) { int first,last; first=0; last=0; vector<string> a; while(first<s.size()&&last<s.size()) {原创 2016-10-03 15:34:21 · 405 阅读 · 0 评论 -
205. Isomorphic Strings
class Solution {public: bool isIsomorphic(string s, string t) { set<char> mys; unordered_map<char,char> mymap; int n=s.size(); int m=t.size(); if(n!=m)原创 2016-10-14 10:23:21 · 222 阅读 · 0 评论 -
227. Basic Calculator II
*class Solution {public: int calculate(string s) { stack<int> nums; int temp; char flag='+'; for(int i=0;i<s.size();i++) { char c=s[i];原创 2016-10-23 11:56:20 · 275 阅读 · 0 评论 -
224. Basic Calculator
class Solution {public: int calculate(string s) { stack<int> opt,ret; int result,nums,flag; result=nums=0; flag=1; for(int i=0;i<s.size();i++) { char c=s[i];原创 2016-10-21 14:51:23 · 257 阅读 · 0 评论 -
179. Largest Number
class Solution {public: static bool cmp(const string &a,const string &b) { return a+b>b+a; } string largestNumber(vector<int>& nums) { vector<string> snums; for原创 2016-10-10 10:45:50 · 218 阅读 · 0 评论 -
8. String to Integer (atoi)
class Solution {public: int myAtoi(string str) { int sign=1; int result=0; int i=0; while(str[i]==' ') { i++; } if(str[i]=='-')原创 2016-09-06 14:01:26 · 317 阅读 · 0 评论 -
7. Reverse Integer
class Solution { public: int reverse(int x) { int result=0; while(x!=0) { int tail=x%10; x/=10; int temp=result*10+tail; if((temp-tail)/1原创 2016-09-06 09:52:59 · 236 阅读 · 0 评论 -
14. Longest Common Prefix
class Solution {public: string longestCommonPrefix(vector<string>& strs) { if(strs.size()==0) { string empty; return empty; }原创 2016-09-05 22:57:35 · 263 阅读 · 0 评论 -
304. Range Sum Query 2D - Immutabl
class NumMatrix {private: vector<vector<int>> m;public: NumMatrix(vector<vector<int>> &matrix) { m=matrix; for(int i=0;i<m.size();i++) { for(int j=1;j<m[0]原创 2016-11-19 15:05:53 · 387 阅读 · 0 评论 -
344. Reverse String
class Solution {public: string reverseString(string s) { if(!s.size()) return s; int l=0; int r=s.size()-1; while(l<r) { char temp=s原创 2016-12-08 10:30:58 · 209 阅读 · 0 评论 -
424. Longest Repeating Character Replacement
public class Solution { public int characterReplacement(String s, int k) { int start=0; int end=0; int maxlength=0; int len=s.length(); int[] count=new int[2原创 2017-02-13 14:12:11 · 289 阅读 · 0 评论 -
405. Convert a Number to Hexadecimal
public class Solution { public String toHex(int num) { char[] mymap={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; String s=""; if(num==0) re原创 2017-01-17 10:59:18 · 218 阅读 · 0 评论 -
415. Add Strings
public class Solution { public String addStrings(String num1, String num2) { int carry=0; StringBuilder sb=new StringBuilder(); for(int i=num1.length()-1,j=num2.length()-1;i原创 2017-02-08 11:22:17 · 309 阅读 · 0 评论 -
412. Fizz Buzz
class Solution {public: vector<string> fizzBuzz(int n) { vector<string> ret; for(int i=1;i<=n;i++) { bool timeofthree=(i%3==0); bool timeoffive=(i%5原创 2017-02-07 10:57:08 · 237 阅读 · 0 评论 -
394. Decode String
public class Solution { public String decodeString(String s) { Stack repeattimes=new Stack<>(); Stack res=new Stack<>(); String cur=”“; int idx=0; whil原创 2017-01-11 15:21:42 · 301 阅读 · 0 评论 -
402. Remove K Digits
public class Solution { public static String removeKdigits(String num, int k) { int digits=num.length()-k; int top=0; char[] stack=new char[num.length()]; for(int i=原创 2017-01-15 12:09:27 · 280 阅读 · 0 评论 -
400. Nth Digit
class Solution {public: int findNthDigit(int n) { /* * 首先定位到包含n的这个数字有几位 * 然后定位到包含n的这个数字是什么 * 最后定位到n是这个数字的第几位 */ long digit=1,base=9,ith=1;//digi原创 2017-01-15 10:53:19 · 271 阅读 · 0 评论 -
409. Longest Palindrome
class Solution {private: bool static compare(int a,int b) { return a>b; }public: int longestPalindrome(string s) { map<char ,int > m; for(int i=0;i<s.size();i+原创 2017-02-06 10:48:17 · 220 阅读 · 0 评论 -
459. Repeated Substring Pattern
public class Solution { public boolean repeatedSubstringPattern(String str) { int l=str.length(); for(int i=l/2;i>=1;i--) { if(l%i==0)//如果l是i的整数倍 {原创 2016-12-19 10:02:58 · 335 阅读 · 0 评论 -
318. Maximum Product of Word Lengths
class Solution {public: int maxProduct(vector<string>& words) { if(words.size()==0) return 0; int len=words.size(); vector<int> wordschar(len,0); for(in原创 2016-11-27 20:43:44 · 220 阅读 · 0 评论 -
Remove Duplicate Letters
class Solution { public: string removeDuplicateLetters(string s) { string ret; ret.push_back('0'); vector<int> count(26,0); vector<bool>原创 2016-11-27 13:35:13 · 259 阅读 · 0 评论 -
345. Reverse Vowels of a String
class Solution {public: string reverseVowels(string s) { vector<int> positions; for(int i=0;i<s.size();i++) { char temp=s[i]; if(temp=='a'||temp=='e原创 2016-12-08 10:45:56 · 248 阅读 · 0 评论 -
65. Valid Number
class Solution {public: bool isNumber(string s) { int i=0; int n=s.length(); while(i<n&&s[i]==' ')i++;//去除刚开始的空格 if(i<n&&(s[i]=='-'||s[i]=='+'))i++;//去除正负号原创 2016-09-13 09:48:33 · 281 阅读 · 0 评论 -
29. Divide Two Integers
class Solution {public: int divide(int dividend, int divisor) { if(divisor==0||(dividend==INT_MIN&&divisor==-1)) return INT_MAX; int sign=(dividend<0^divisor<0)?-1:1;原创 2016-09-12 10:46:52 · 222 阅读 · 0 评论 -
140. Word Break II
class Solution {private: map<string,vector<string>> m;//m存储从s 到分割结果result的映射 vector<string> combine(string word,vector<string> pre) { for(int i=0;i<pre.size();i++) {原创 2016-07-25 17:37:26 · 414 阅读 · 0 评论 -
90. Subsets II
class Solution { public: vector<vector<int>> subsetsWithDup(vector<int>& nums) { sort(nums.begin(),nums.end()); set<vector<int>> subs;//subs初始化只有一个空的vector<int>原创 2016-07-24 16:32:53 · 345 阅读 · 0 评论 -
78. Subsets
class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> subs(1,vector<int>());//subs初始化只有一个空的vector<int> for(int i=0;i<nums.size();i++)原创 2016-07-24 11:32:59 · 325 阅读 · 0 评论 -
120. Triangle
class Solution {public: int minimumTotal(vector<vector<int>>& triangle) { if(triangle.size()==1) return triangle[0][0]; int maxsize=triangle[triangle.size()-1].size();原创 2016-07-24 10:10:12 · 283 阅读 · 0 评论 -
6. ZigZag Conversion
class Solution {public: string convert(string s, int numRows) { if(numRows==1) return s; vector<string> buf(numRows,""); int n=s.size(); int i=0;原创 2016-07-23 16:07:04 · 265 阅读 · 0 评论 -
125. Valid Palindrome
class Solution {public: bool isPalindrome(string s) { int start=0; int end=s.size()-1; while(end>start) { while(end>start&&(!isalnum(s[start]))) start++; while(原创 2016-07-23 14:51:10 · 220 阅读 · 0 评论 -
58. Length of Last Wor
class Solution {public: int lengthOfLastWord(string s) { if(s.size()==0)return 0; stringstream ss(s); int lastlen=0; string temp; while(getline(ss,temp,' '))原创 2016-07-23 10:57:46 · 266 阅读 · 0 评论 -
5. Longest Palindromic Substring
class Solution {public: string longestPalindrome(string s) { if(s.size()==0) return ""; if(s.size()==1) return s; int maxlen=1;//字符串最大长度 int原创 2016-07-23 10:10:17 · 221 阅读 · 0 评论 -
#1015 : KMP
#include <iostream>using namespace std;void buildnext(const char *pattern,int l,int *next){ int i=0;//i 为next数组下标 int j=-1;//j 为next数组值 j=-1说明没有前面没有任何一个值相等 next[0]=-1; while(i<l)原创 2016-04-18 22:47:30 · 302 阅读 · 0 评论 -
93. Restore IP Addresses
枚举class Solution {public: vector<string> restoreIpAddresses(string s) { vector<string> ret; string ans; for (int a=1; a<=3; a++) for (int b=1; b<=3; b++)原创 2016-05-25 10:19:10 · 522 阅读 · 0 评论 -
31. Next Permutation
参考了这篇文章http://wordaligned.org/articles/next-permutation#toc5 不得不说外国人写的真的很详细 这篇文章讲解了寻找字典序中的下一个序列的原理 在字典序中 所有的元素按从小到大排列是最小的字典序 所有的元素按从大到小排列是最大的字典序i,ii指向相连的两个元素 从后向前遍历寻找第一个满足*i<**ii的元素 这样整个序列就可以分为h原创 2016-05-10 17:59:35 · 299 阅读 · 0 评论 -
Palindrome Linked List
https://leetcode.com/problems/palindrome-linked-list/ 反转链表的前半部分 反转完后从中间开始向两边比较class Solution {public: bool isPalindrome(ListNode* head) { if (!head) return true; int原创 2016-03-04 22:28:26 · 365 阅读 · 0 评论