力扣驗證回文串

給定一個字符串,驗證它是否是回文串,只考慮字母和數字字符,可以忽略字母的大小寫
代碼思路:將s中的每個字符用for循環取出,判斷一下,如果是字母或者數字,插入到StringBuffer類型sgood中,最后將sgood反轉得到sgood_rev,如果s是回文串,則sgood和sgood_rev必相等。
方法一

class Solution {public boolean isPalindrome(String s) {StringBuffer sgood = new StringBuffer();int length = s.length();for(int i = 0;i<length;i++){char ch = s.charAt(i);//取字符if(Character.isLetterOrDigit(ch)){//判斷是否為字母或數字sgood.append(Character.toLowerCase(ch));//插入到sgood中}}StringBuffer sgood_rev = new StringBuffer(sgood).reverse();//反轉return sgood.toString().equals(sgood_rev.toString());//比較}
}

1.s.length()取字符串長度方法,記得帶括號
2.char ch = s.charAt(i) 取字符串s的第i個字符
3.Character.toLowerCase(ch) 將ch變小寫
4.sgood.toString().equals 對于StringBuffer類型沒有方法equal(),只有字符串類型有equal(),只能利用toString()方法先返回字符串再使用equal()

方法二
與方法一區別是,方法一用先反轉,在用equal()匹配,方法二用雙指針匹配

class Solution {public boolean isPalindrome(String s) {StringBuffer sgood = new StringBuffer();int length = s.length();for(int i = 0;i<length;i++){char ch = s.charAt(i);if(Character.isLetterOrDigit(ch)){sgood.append(Character.toLowerCase(ch));}}int head = 0,tail = sgood.length()-1;while(head<tail){if(sgood.charAt(head)==sgood.charAt(tail)){head++;tail--;}else{return false;}}return true;}
}

方法三
直接雙指針

class Solution {public boolean isPalindrome(String s) {int left = 0;int right = s.length()-1;while(left<right){while((left<right)&&(!Character.isLetterOrDigit(s.charAt(left)))){left++;}while((left<right)&&(!Character.isLetterOrDigit(s.charAt(right)))){right--;}if(left<right){if(Character.toLowerCase(s.charAt(left))!=Character.toLowerCase(s.charAt(right))){return false;}else{left++;right--;}}}return true;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374735.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374735.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring MVC3 Hibernate CRUD示例應用程序

學習從HelloWorld應用程序開始的任何Web框架都是一個好主意。 一旦我們熟悉了框架配置&#xff0c;最好做一個CRUD&#xff08;創建&#xff0c;讀取&#xff0c;更新&#xff0c;刪除&#xff09;應用程序&#xff0c;該應用程序涵蓋Web框架的各個方面&#xff0c;例如驗證&am…

Linux Mint---ATI顯卡驅動安裝篇

顯卡驅動可謂是至關重要&#xff0c;當時折騰debian驅動的時候可是弄了好幾天才搞定的&#xff0c;現在卻非常容易就是裝上&#xff0c; 詳見這篇博客&#xff1a;http://www.yyearth.com/article/14-03/amd13.html 在此表示感謝&#xff01; 我的話&#xff0c;全在圖形界面下…

百度云推送的簡單集成

1.在百度云推送的應用管理頁面&#xff0c;創建自己的應用&#xff0c;創建應用時&#xff0c;需要提供兩個證書&#xff0c;開發環境的推送證書和正式環境的推送證書。證書的格式是pem格式的&#xff0c;需要先在apple 開發者中心配置好推送證書&#xff0c;安裝到mac上&#…

高級SmartGWT教程,第2部分

這是我的教程的第二部分&#xff0c;有關使用SmartGWT快速進行UI開發。 在本教程的第一部分中 &#xff0c;我們創建了基本的界面布局并添加了一些基本組件。 現在是時候解決這個問題&#xff0c;并使用SmartGWT的真正功能了。 在繼續之前&#xff0c;讓我們記住到目前為止我們…

有感而發,生活

我們每一個人都是獨一無二的&#xff0c;當然我們每一個人的路子也是不盡相同的&#xff0c;不能因為一時的失意而放棄了自己兒時的夢想&#xff0c;路是一步一步走的&#xff0c;未來需要努力&#xff0c;我相信 我們每一個人都可以做到自己心中的樣子&#xff0c;安逸的生活是…

力扣反轉字符串中的元音字母

給你一個字符串 s &#xff0c;僅反轉字符串中的所有元音字母&#xff0c;并返回結果字符串。 元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’&#xff0c;且可能以大小寫兩種形式出現。 代碼思路&#xff1a; 1.將字符串轉換為字符數組 2.設置碰撞指針&#xff0c;從兩頭尋…

使用 SqlDataSource 插入、更新和刪除數據49

簡介 正如在 數據插入、更新和刪除概述 中討論的那樣&#xff0c;GridView 控件提供內置的更新和刪除功能&#xff0c;而DetailsView 和 FormView 控件則包含對插入、編輯和刪除功能的支持。這些數據修改功能無需編寫任何代碼&#xff0c;可直接嵌入數據源控件。 數據插入、更新…

Solaris是出色的Java開發平臺的原因

幾天前&#xff0c;我發布了“ OpenSolaris的死亡&#xff1a;為Java開發人員選擇操作系統 ”&#xff0c;其中我說Solaris是Java開發人員的絕佳平臺。 這篇文章的重點只是想知道自OpenSolaris淘汰以來我將使用哪個Solaris版本。 正如Neil的評論使我意識到的那樣&#xff0c;該…

python , angular js 學習記錄【2】

1.不同scope之間的通信 &#xff08;1&#xff09;無父子關系的scope通信&#xff1a; 在需要操作的scope里面定義一個事件&#xff0c;名稱為delete_host&#xff0c;參數為data $rootScope.$on(delete_host, function(event,data) {angular.forEach($scope.hosts, function (…

【轉】phpize學習

為什么使用phpize? 比如剛開始安裝的時候使用 ./configure --prefix/usr/local/php7 --exec-prefix/usr/local/php7 --bindir/usr/local/php7/bin --sbindir/usr/local/php7/sbin --includedir/usr/local/php7/include --libdir/usr/local/php7/lib/php --mandir/usr/local/ph…

GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示

不久前&#xff0c;我的一個朋友和同事向我飛過&#xff0c;說“世界上只有一半在使用Maven ”。 當我意識到最受歡迎的文章&#xff08;到目前為止&#xff09; GWT 2 Spring 3 JPA 2 Hibernate 3.5 Tutorial提出了一種基于Google的Web Toolkit&#xff08; GWT &#xff09; …

Android的WiFi開啟與關閉

注意&#xff1a;要首先注冊開啟和關閉WiFi的權限&#xff0c; <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.wyl.wifi"android:versionCode&q…

awk用法小結(作者總結)

http://www.chinaunix.net/old_jh/24/691456.htmlhttp://wenku.baidu.com/view/ebac4fc658f5f61fb736664d.htmlawk 用法&#xff1a;awk pattern {action} 變量名 含義 ARGC 命令行變元個數 ARGV 命令行變元數組 FILENAME 當前輸入文件名 FNR 當前文件中的記錄號 FS 輸入域分…

力扣盛最多水的容器

給你 n 個非負整數 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每個數代表坐標中的一個點 (i, ai) 。在坐標內畫 n 條垂直線&#xff0c;垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0) 。找出其中的兩條線&#xff0c;使得它們與 x 軸共同構成的容器可以容納最多…

Java最佳實踐–多線程環境中的DateFormat

這是有關使用Java編程語言時的擬議實踐的系列文章的第一篇。 所有討論的主題均基于用例&#xff0c;這些用例來自于電信行業的關鍵任務超高性能生產系統的開發。 在閱讀本文的每個部分之前&#xff0c;強烈建議您參考相關的Java API文檔以獲取詳細信息和代碼示例。 所有測試…

IntentDemo

Intent通信示例&#xff1a; 兩個Button&#xff0c;一個startBrowser, 一個startPhone. 其中&#xff0c;OnClickListener()是類View的一個interface&#xff0c;需要實現其中的onClick()函數。 startActivity()開啟另一個Activity&#xff0c;本示例中開啟Browser或Phone. In…

JBoss 4.2.x Spring 3 JPA Hibernate教程

在花了許多時間在網上搜索之后&#xff0c;嘗試找到對幾個項目使用Spring&#xff0c;JPA和Hibenate的最有效方法&#xff0c;我們得出了將在下面介紹的配置的結論。 將Spring與JPA和Hibernate集成包括幾個步驟&#xff1a; Spring容器的配置 JPA ORM層的配置 Hibernate Sec…

力扣長度最小的子數組

給定一個含有 n 個正整數的數組和一個正整數 target 。 找出該數組中滿足其和 ≥ target 的長度最小的 連續子數組 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其長度。如果不存在符合條件的子數組&#xff0c;返回 0 方法一&#xff1a;移動窗口 設置兩個指針&…

Yeelink:將復雜的傳感器以極簡的方式組到同一個網絡內

Yeelink&#xff1a;將復雜的傳感器以極簡的方式組到同一個網絡內轉載于:https://www.cnblogs.com/qxql2016/p/4692629.html

androidstudio新建項目中在布局文件中不顯示title的方法

在androidstudio新建項目的時候&#xff0c;在布局文件里有時候會出現如下情況&#xff1a; 上面的標題欄非常礙眼&#xff0c;要想隱藏標題欄的話&#xff0c;可以在Manifest文件的theme標簽里進行配置&#xff0c;自定義一個theme&#xff0c;加上如下兩句。或者直接在當前th…