iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
Software Development

leetcode程式自學系列 第 24

Day24 leetcode程式自學

  • 分享至 

  • xImage
  •  

今天是鐵人賽的第二十四天,我們要解第六十七題add binary 。這題的題目要求我們將兩個二進位字串相加,並且輸出最後的結果,同樣也用是二進位字串顯示。這個程式是在模擬「二進位加法」的過程。它先把輸入的兩個二進位字串轉換成整數,接著用一個迴圈不斷計算,直到沒有進位為止。在每次迴圈裡,它先用 ^(XOR)來計算「不帶進位的加法結果」,因為二進位下 1 + 0 = 1、0 + 1 = 1,但 1 + 1 = 0 且需要進位,所以 XOR 正好符合這個邏輯;然後用 &(AND)來找出哪些位置需要進位,因為只有當兩個位元同時都是 1 才會產生進位,最後再把進位左移一位。接著,把「不帶進位的結果」當作新的數字,把「進位」當作新的補充,繼續加下去。當進位變成 0 時,代表加法完全結束,答案就在 a 裡。最後再把它轉回二進位字串,就得到我們想要的結果。


上一篇
Day23 leetcode程式自學
系列文
leetcode程式自學24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言