前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode-题库(8-9)

LeetCode-题库(8-9)

作者头像
布衣者
发布2022-10-31 14:58:05
1970
发布2022-10-31 14:58:05
举报
文章被收录于专栏:布衣者博客

1768. 交替合并字符串

给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串

具体题目链接

Python

原始思路:

代码语言:javascript
复制
class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        word1_len = len(word1)
        word2_len = len(word2)
        length = word1_len if word1_len>word2_len else word2_len
        text=''
        for i in range(length):
            if i<word1_len and i<word2_len:
                text=text+word1[i]+word2[i]
            elif i<word1_len:
                text=text+word1[i]
            elif i<word2_len:
                text=text+word2[i]
        return text

双指针思路:

代码语言:javascript
复制
class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        word1_len,word2_len = len(word1),len(word2)
        word1_index,word2_index = 0,0
        text=''
        while word1_index<word1_len or word2_index<word2_len:
            if word1_index<word1_len:
                text+=word1[word1_index]
                word1_index+=1
            if word2_index<word2_len:
                text+=word2[word2_index]
                word2_index+=1
        return text

Java

因为公司发展方向为java,自己也要学习了。也要了解很多java知识。

代码语言:javascript
复制
class Solution {
    public String mergeAlternately(String word1, String word2) {
        int word1Len=word1.length();
        int word2Len=word2.length();
        int word1Index = 0;
        int word2Index = 0;
        StringBuilder text = new StringBuilder();
        while (word1Index<word1Len || word2Index<word2Len){
            if (word1Index<word1Len){
                text.append(word1.charAt(word1Index));
                word1Index++;
            }
            if (word2Index<word2Len){
                text.append(word2.charAt(word2Index));
                word2Index++;
            }
        }
        return text.toString();
    }
}

66. 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。

具体题目链接

Python

思路:看到题目第一开始想只加1,只要当前位置不为9就不会出现进位情况,直接本位+1,之后其余不变。 如果为9则直接将本位变为0,对下一位进行+1。 如果所有位置都为9,那么需要增加一个位置为1。

代码语言:javascript
复制
class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        for i in range(len(digits)-1,-1,-1):
            if digits[i]!=9:
                digits[i]+=1
                return digits
            else:
                digits[i]=0
        return [1]+digits

Java

代码语言:javascript
复制
class Solution {
    public int[] plusOne(int[] digits) {
        for(int i=digits.length-1;i>=0;i--)
        if(digits[i]!=9){
            digits[i]+=1;
            return digits;
        }else{
            digits[i]=0;
        }
        int newDigits[]=new int[digits.length+1];
        newDigits[0]=1;
        return newDigits;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1768. 交替合并字符串
    • Python
      • Java
      • 66. 加一
        • Python
          • Java
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档