赞
踩
给你单链表的头节点 head
,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1]
以此类推,直到反转结束返回头结点
- class Solution {
- public ListNode reverseList(ListNode head) {
- //当头结点为空或者头结点的下一节点为空时,返回头结点
- if(head == null || head.next == null){
- return head;
- }
- //创建一个返回节点
- ListNode cur = reverseList(head.next);
- head.next.next = head;
- //将head.next设置为空,防止往回遍历
- head.next = null;
- return cur;
- }
- }
给定一个非负整数 num
,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
示例 1:
输入: num = 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 由于2是一位数,所以返回 2。
- class Solution {
- public int addDigits(int num) {
- if(num < 10)
- return num;
- //声明一个整型变量用来存储每次的加法结果
- int sum = 0;
- while(num != 0){
- sum = sum + num % 10;
- num /= 10;
- }
- return addDigits(sum);
- }
- }
数学上解法:
class Solution {
public int addDigits(int num) {
return (num-1)%9+1;
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。