每日编程(五)——leetcode刷题

题目:. 最后一个单词的长度

描述:

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例:

输入: "Hello World"
输出: 5

分析:比较简单了,很明显字符串的分割,去最后一个字符串,计算长度即可,但是却遇到了一个小问题,就是最后一个是空格的情况,这时候就得考虑前一个不是nil的字符串,否则会输出0,所以最好的解决办法就是,在分割之前去掉两个端的空格

上代码:

func lengthOfLastWord(s string) int {
    str :=strings.Trim(s," ")     
    str1 :=strings.Split(str," ")
    if len(str1)==0{
        return 0
    }
    return len(str1[len(str1)-1])
}

题目:加一

题目表述:

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

上代码:

func plusOne(digits []int) []int {
    carry :=1
    n :=len(digits)
    for i:=n-1;i>=0;i--{
        digits[i] +=carry
        if digits[i]<10{
            return digits
        }else{
            digits[i]=0
        }
    }
    digits[0]=1
    digits=append(digits,0)
    return digits
}

原理很简单,大家应该都能懂;

你可能感兴趣的:(每日编程)