一、前言
本系列文章为《剑指Offer》刷题笔记。
刷题平台:牛客网
书籍下载:共享资源
二、题目
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
1、思路
没什么好说的,这是一道超级无敌送分题,使用递归即可。
2、代码
C++:
class Solution { public: int Sum_Solution(int n) { int ans = n; // &&就是逻辑与,逻辑与有个短路特点,前面为假,后面不计算。即递归终止条件 ans && (ans += Sum_Solution(n - 1)); return ans; } };
Python:
# -*- coding:utf-8 -*- class Solution: def Sum_Solution(self, n): # write code here ans = n if ans: ans += self.Sum_Solution(n-1) return ans
来源:
https://cuijiahua.com/blog/2018/01/basis_47.html