劍指offer---求1+2+3+...+n(Java)

題目描述

求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

解析思路

這題牛客評論區的大佬解的太厲害了。
利用 && 運算符,當前半部分爲假時,則不對後半部分再次進行運算的特點,作爲了遞歸終止的條件。
當運行到n一次次減1到左後到0時,到達左邊的判斷,遞歸結束。

運行代碼

public class Solution {
    public int Sum_Solution(int n) {
        int sum = n;
        boolean ans = (n > 0)&&((sum += Sum_Solution(n-1)) > 0);
        return sum;
    }
}

運行截圖

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章