当前位置: 首页 > LeetCode > 正文

剑指offer 求1+2+3+4+。。。。。+n

admin 发表于2021年3月2日 9:09

短路求值:作为“&&”和“||”操作数表达式,这些表达式在进行求值时,只要最终的结果已经确定真或假,求值过程便告终,这就是短路求值。因此可以利用左边的表达式来作为递归结束的判断条件。因此递归的表达式就在右边了。使用&&,表示两边都为真,才为真,左边为假,右边就没用了。因此在不断递归时,直到左边为假时,才不执行右边。因此在第一次进行右边的判断时,就进入递归的调用。


func Sum_Solution( n int) int {
	var f func(ret *int, n int) bool
	f = func(ret *int, n int) bool {
		*ret += n
		return n>0 && f(ret, n-1)
	}
	var sum int
	f(&sum,n)
	return sum
}

全文完
本文标签: 剑指OFFER
本文标题: 剑指offer 求1+2+3+4+。。。。。+n
本文链接: http://blog.qqzzz.net/m/?post=109

〓 随机文章推荐

共有1168阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文

请勾选本项再提交评论