LeetCode简单题之字符串中的最大奇数
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之字符串中的最大奇数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給你一個字符串 num ,表示一個大整數。請你在字符串 num 的所有 非空子字符串 中找出 值最大的奇數 ,并以字符串形式返回。如果不存在奇數,則返回一個空字符串 “” 。
子字符串 是字符串中的一個連續的字符序列。
示例 1:
輸入:num = “52”
輸出:“5”
解釋:非空子字符串僅有 “5”、“2” 和 “52” 。“5” 是其中唯一的奇數。
示例 2:
輸入:num = “4206”
輸出:""
解釋:在 “4206” 中不存在奇數。
示例 3:
輸入:num = “35427”
輸出:“35427”
解釋:“35427” 本身就是一個奇數。
提示:
1 <= num.length <= 10^5
num 僅由數字組成且不含前導零
來源:力扣(LeetCode)
解題思路
??最大的奇數一定是最“長”的數,這個數應該符合個位為奇數然后最高位不為0,所以我們可以定義兩個指針分別從前面判斷是否是0,從后邊判斷是否是1,3,5,7,9,然后返回最長的數即可。
class Solution:def largestOddNumber(self, num: str) -> str:i=0j=len(num)-1while int(num[j])%2==0 and j>=i: #從后邊尋找個位數j-=1while int(num[i])==0 and i<j: #從前面尋找不為0的數i+=1return num[i:j+1]
總結
以上是生活随笔為你收集整理的LeetCode简单题之字符串中的最大奇数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之唯一元素的和
- 下一篇: LeetCode简单题之猜数字大小