快轉到主要內容
  1. LeetCode/

LeetCode 3517: Smallest Palindromic Rearrangement I

·1 分鐘· ·
LeetCode Blog Weekly Medium
Wei Yi Chung
作者
Wei Yi Chung
Working at the contributing of open source, distributed systems, and data engineering.
目錄
LeetCode Weekly Contest 445 - 本文屬於一個選集。
§ 2: 本文

基本資料
#

難易度: medium 第一次嘗試: 2025-04-13

  • 總花費時間:05:00.00

解題思路
#

我們需要先判斷字串的長度是奇數還是偶數,以確認是否有中間的字元需要額外處理。
接著,根據 ord() 對字串的前半部分進行排序,最後將排序後的左半部分、中間字元(如果有的話),以及左半部分的反轉結果串接起來,組合成最終的結果。

解法
#

class Solution:
    def smallestPalindrome(self, s: str) -> str:
        odd = len(s)%2
        helf_index = len(s)//2
        left = list(s[:helf_index])
        
        middle_str = s[helf_index] if odd else ""
        
        left_sorted = "".join(sorted(left, key=ord))
        
        return left_sorted+middle_str+left_sorted[::-1]

學習
#

NA

遇到的問題
#

NA

LeetCode Weekly Contest 445 - 本文屬於一個選集。
§ 2: 本文

相關文章

LeetCode 3516: Find Closest Person
·1 分鐘
LeetCode Blog Weekly Easy
LeetCode 解題紀錄
LeetCode 1922: Count Good Numbers
·1 分鐘
LeetCode Blog Daily Medium
LeetCode 解題紀錄
LeetCode 556: Next Greater Element III
·1 分鐘
LeetCode Blog Medium
LeetCode 解題紀錄
LeetCode 3513: Number of Unique XOR Triplets I
·1 分鐘
LeetCode Blog Bi-Weekly Medium Unsolved
LeetCode 解題紀錄
LeetCode 3512: Minimum Operations to Make Array Sum Divisible by K
·1 分鐘
LeetCode Blog Bi-Weekly Easy
LeetCode 解題紀錄
LeetCode 2843: Count Symmetric Integers
·1 分鐘
LeetCode Blog Daily Easy
LeetCode 解題紀錄