【LeetCode笔记】剑指 Offer 64. 求1 + 2 + ... + n (Java、限制语法、二刷)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】剑指 Offer 64. 求1 + 2 + ... + n (Java、限制语法、二刷)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 思路 && 代碼
- 注釋版代碼(方便理解):
- 無注釋版代碼(方便背誦= =)
- 二刷
題目描述
鬼鬼,又到了我最喜歡的戴著腳鐐跳舞環節。
講道理,我覺得這類題應該整個歸納啥的。。(有空我整一個)
不看題解可能挺難想出來的,限制點不給除法、不給加減法、循環什么的,但是講道理也還挺有趣的,也算是加深對位運算符、語言語法的理解。
- 直接看思路吧~
思路 && 代碼
- 用 && 短路特性實現 if
- 用 boolean 的表達式,“召喚”出 &&
- 用遞歸實現循環
注釋版代碼(方便理解):
class Solution {int ans = 0;// 用遞歸實現循環的效果public int sumNums(int n) {// x 值是什么、sumNums(n - 1)是否大于0都不重要,重要的是這行代碼等價于:// if(n > 1) {// sumNums(n - 1);// } boolean x = n > 1 && sumNums(n - 1) > 0;// 走到這步的時候,ans = 1 + 2 + ... + n - 1 了ans += n;return ans;} }無注釋版代碼(方便背誦= =)
- 四行解決
二刷
- 鬼鬼,二刷不出意料地懵逼了= =
總結
以上是生活随笔為你收集整理的【LeetCode笔记】剑指 Offer 64. 求1 + 2 + ... + n (Java、限制语法、二刷)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python判断密码强度_python实
- 下一篇: 【LeetCode笔记】33. 搜索螺旋