计算阶乘的和 //阶乘的和,5!+4!+3!+2! int a = 5; for(int b = 4; b > 0; b--) { a = a * b; } //先定义好最大数的阶乘是多少 int c = a; for(int n = 5; n > 1; n--) //当n等于2的时候,这是算的就是1的阶乘,所以后面取n>1 { a = a / n; //利用数学公式,n! = (n + 1)!/(n + 1),再写出for循环计算 c = c + a; //重新定义c的值为每次相加的和
问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 思路1: 先遍历链表,计算其长度length; 然后计算出倒数第k个结点就是正数第length - k + 1. 最后再遍历链表,找到所求结点 时间复杂度O(2n),需要遍历两次链表 代码如下: public List