iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
自我挑戰組

從零開始學習LeetCode系列 第 19

Day 19 Move Zeroes II – Partition Array by Parity

  • 分享至 

  • xImage
  •  

題目:給你一個整數陣列 nums,
請重新排列,使所有偶數都在前面、所有奇數都在後面。
結果順序不要求穩定,但必須就地修改
https://ithelp.ithome.com.tw/upload/images/20251009/20169339YBZeT08aWl.jpg


解法一
https://ithelp.ithome.com.tw/upload/images/20251009/20169339mRo0p5z9ZK.jpg

  • 將偶數與奇數分開再合併
  • 但使用了額外空間

解法二
https://ithelp.ithome.com.tw/upload/images/20251009/20169339yOTwYgoBdS.jpg

  • 雙指針(原地交換)

註解

  • 用兩個指針:
  • left:從左找奇數
  • right:從右找偶數
  • 如果左邊是奇數、右邊是偶數 → 交換
  • 最後左邊全是偶數、右邊全是奇數

理解

  • 這題就像在分兩組:
    左邊站偶數隊、 右邊站奇數隊。
    你拿著兩個手指頭指著他們,一邊檢查一邊調整位置。
    既直覺又能練熟「雙指針」在分區問題的應用

上一篇
Day 18 Rotate Array
下一篇
Day 20 Majority Element
系列文
從零開始學習LeetCode30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言