演算法是乙個不斷優化的過程,也是乙個不斷學習進步的過程。演算法是乙個很好玩的過程。驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的回文串。
示例 1:
輸入: "a man, a plan, a canal: panama"
輸出: true
示例 2:
輸入: "race a car"
輸出: false
第一遍:
第四遍:class solution
for (int i = 0,j =length-1; j > 0 && j>i;)
char endchar = string.charat(j);
if (!character.isdigit(endchar) && !character.isalphabetic(endchar))
if (headchar != endchar && (character.islowercase(headchar)? character.touppercase(headchar) : character.tolowercase(headchar)) != endchar) else
}return true;
}}
網上最優的算:public static boolean ispalindrome(string s)
for (int i = 0,j =length-1; j>i;) else if (! ((headchar >= 'a' && headchar<= 'z') || (headchar >= '0' && headchar<='9')))
char endchar = s.charat(j);
if (endchar >= 'a' && endchar<= 'z')else if (! ((endchar >= 'a' && endchar<= 'z') || (endchar >= '0' && endchar<='9')))
if (headchar != endchar ) else
}return true;
}
加油!class solution
char copy = s.tochararray();
char letterandnums = new char[copy.length];
int index = 0;
for(int i = 0; i < copy.length; i++)else if((copy[i] >= 'a' && copy[i] <= 'z'))
}letterandnums = arrays.copyofrange(letterandnums, 0, index);
int start = 0, end = letterandnums.length - 1;
while(start < end)
}return true;
}}
每日演算法 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true示例 2 輸入 race a car 輸出 false思路一 先把字串其他字元去掉,只保留...
演算法 驗證回文串(isPalindrome)
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false思路 1.首先判斷s是否為為空串或...
演算法小練 驗證回文串
title 演算法小練 驗證回文串 categories 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a ...