日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【算法】双指针算法 ( 有效回文串 II )

發布時間:2025/6/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法】双指针算法 ( 有效回文串 II ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法 系列博客

【算法】刷題范圍建議 和 代碼規范
【算法】復雜度理論 ( 時間復雜度 )

【字符串】最長回文子串 ( 蠻力算法 )
【字符串】最長回文子串 ( 中心線枚舉算法 )
【字符串】最長回文子串 ( 動態規劃算法 ) ★
【字符串】字符串查找 ( 蠻力算法 )
【字符串】字符串查找 ( Rabin-Karp 算法 )

【算法】雙指針算法 ( 雙指針算法分類 | 相向雙指針 | 有效回文串 )
【算法】雙指針算法 ( 有效回文串 II )


文章目錄

  • 算法 系列博客
  • 一、有效回文串 II





一、有效回文串 II



有效回文串 II : https://www.lintcode.com/problem/891/

給定非空字符串 , 最多刪除一個字符 , 判斷是否可以將該字符串變成回文串 ;


該算法是一個貪心算法 , 給定一個字符串 “abca” , 設置兩個指針 , 分別指向最左側字符 和 最右側字符 , 從兩端開始遍歷 , 逐個比較兩個指針指向的字符是否相等 ;

如果出現了左右指針指向的字符不相等 , 那么只能有兩種操作 , 要么刪除左指針指向的字符 , 要么刪除右指針指向的字符 ;

刪除左指針指向的字符 , 繼續向后遍歷 , 判定整個字符串是否是回文串 ;
刪除右指針指向的字符 , 繼續向后遍歷 , 判定整個字符串是否是回文串 ;

如果上述兩種方案 , 都不是回文串 , 那么說明刪除單個字符后字符串仍不是回文串 ;


代碼示例 :

class Solution {/*** 給一個非空字符串 s,你最多可以刪除一個字符。判斷是否可以把它變成回文串。* @param s 給定的字符串 * @return 刪除零個或一個字符后是否是回文串*/public boolean validPalindrome(String s) {if (s == null) {return false;}// 先判定該字符串是否是回文串// 數組中 0 索引存放左指針, 1 索引存放右指針 int[] pointer = new int[2];findDifference(s, 0, s.length() - 1, pointer);if (pointer[0] >= pointer[1]) {return true;}// 如果字符串不是回文串, 則考慮刪除左指針/右指針指向的字符, 再判定是否是字符串// 刪除左指針指向的字符, 并驗證是否是回文串return isPalindrome(s, pointer[0] + 1, pointer[1])// 刪除右指針指向的字符, 并驗證是否是回文串 || isPalindrome(s, pointer[0], pointer[1] - 1); }private void findDifference(String s, int left, int right, int[] result) {// 對比兩字符是否相等, 如果相等, 指針向中間移動一位while (left < right && s.charAt(left) == s.charAt(right)) {left++;right--;}// 設置返回值// 如果該字符串是回文串, 則左指針最后等于 ( 偶數個字符 ) 或者大于右指針 ( 奇數個字符 )// 如果該字符串不是回文串 , 則左右指針原封不動返回result[0] = left;result[1] = right;}private boolean isPalindrome(String s, int left, int right) {// 判定 s 字符串是否是回文串int[] pointer = new int[2];findDifference(s, left, right, pointer);return pointer[0] >= pointer[1];} }class Main {public static void main(String[] args) {System.out.println(new Solution().validPalindrome("abcnba"));} }

總結

以上是生活随笔為你收集整理的【算法】双指针算法 ( 有效回文串 II )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲v欧美v另类v综合v日韩v | 一级a毛片 | 欧美jizz19性欧美 | 成人爽a毛片一区二区免费 日本高清免费看 | 欧美日韩成人精品 | xxxxxx日本 | 手机在线看a | 一区二区视频在线播放 | 农村寡妇一区二区三区 | 欧美粗大猛烈老熟妇 | 一本到高清 | 久久久亚洲成人 | 日美女网站| 久草视频手机在线观看 | 中文字幕一区二区视频 | 老熟女毛茸茸浓毛 | 亲子伦视频一区二区三区 | 日韩欧美中文 | 在线中文字幕播放 | 老牛影视av牛牛影视av | 久久四虎 | 欧美高清性xxxx | 亚洲色图偷拍视频 | 亚洲品质自拍 | 国产精品久久在线 | 亚洲免费毛片 | 91福利免费视频 | www.4虎 | 国产宾馆实践打屁股91 | 非洲黑人毛片 | 国产精品高清在线观看 | 欧美色精品在线 | av男人网 | 国产精品无码成人网站视频 | 高清久久久| 色天天色综合 | 亚洲三级中文字幕 | 亚洲制服一区二区 | 欧美多人猛交狂配 | 久久免费资源 | 啄木乌欧美一区二区三区 | yy77777丰满少妇影院 | 国产第56页 | 美味的客房沙龙服务 | 欧美性生活视频 | 青娱乐在线视频免费观看 | 日鲁鲁| 黄片毛片在线免费观看 | 女同在线观看 | 日本少妇与黑人 | 亚洲欧美日韩在线一区二区 | 国产微拍精品 | 在线观看黄色免费视频 | 亚洲最新网址 | 天堂视频在线观看免费 | 日韩大片免费观看视频播放 | 2023天天操| 亚洲一区二区三区四区视频 | 成人91免费视频 | 久久精品一区二区免费播放 | 欧美日韩国产在线播放 | 亚洲成人久久久久 | 午夜精品国产 | 欧美精品久久久久 | 免费无码av片在线观看 | 欧美一二三区 | 国模无码一区二区三区 | 中文精品在线 | 欧美在线一区二区 | 成年人免费在线观看网站 | 免费看黄色大片 | 免费观看在线观看 | 亚洲熟妇无码另类久久久 | 日本a在线观看 | 欧美壮男野外gaytube | 处破痛哭a√18成年片免费 | 国产日韩精品视频 | 欧美日韩一区二区三区不卡视频 | 精品日韩在线观看 | 韩毛片 | 午夜视频在线播放 | 美女调教视频 | eeuss国产一区二区三区黑人 | 图书馆的女友动漫在线观看 | 天天插日日插 | 中文字幕欧美激情 | 日韩一区二区三区视频在线 | 国产欧美亚洲一区 | 国产精品无码一区二区三区 | 上原亚衣在线观看 | 国产精品国产成人国产三级 | www.天天干.com | 国产尤物av尤物在线看 | 超碰干 | 日本三级日本三级日本三级极 | 精品免费囯产一区二区三区 | 国产免费久久久 | 少妇高潮一区二区三区四区 | 很黄很色的视频 |