这个应该是最优的了
空间复杂度(SpaceComplexity)是对一个算法在运行过程中临时占用存储空间大小的量度。
分析一个算法所占用的存储空间要从各方面综合考虑。如对于递归算法来说,一般都比较简短,算法本身所占用的存储空间较少,但运行时需要一个附加堆栈,从而占用较多的临时工作单元;若写成非递归算法,一般可能比较长,算法本身占用的存储空间较多,但运行时将可能需要较少的存储单元。
对于一个算法,其时间复杂度和空间复杂度往往是相互影响的。当追求一个较好的时间复杂度时,可能会使空间复杂度的性能变差,即可能导致占用较多的存储空间;反之,当追求一个较好的空间复杂度时,可能会使时间复杂度的性能变差,即可能导致占用较长的运行时间
而你这个求和的就相当于一个链表,必须知道前面的是什么,才能知道自己是什么
如果用递归的话,要知道前面的是什么才能用,还是得从头找起,反正都是得从头找起,为啥不直接从头找起呢
而且递归占用的空间会很多,递归一次就会创建一个堆栈空间
个人感觉你这个代码 不管从时间复杂度,还是空间复杂度,都是最优的了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |