首页 > 其他分享 >力扣-415-字符串相加

力扣-415-字符串相加

时间:2024-07-27 20:29:25浏览次数:14  
标签:num1 int stringBuilder 相加 bitLen1 bitLen2 力扣 415 carry

思路是模拟从低位到高位的按位相加,需要考虑进位

    public String addStrings(String num1, String num2) {
        int bitLen1 = num1.length() - 1, bitLen2 = num2.length() - 1;
        StringBuilder stringBuilder = new StringBuilder();
        int carry = 0;
        while (bitLen1 >= 0 || bitLen2 >= 0 && carry > 0) {
            int bit1 = bitLen1 >= 0 ? num1.charAt(bitLen1) - '0' : 0;
            int bit2 = bitLen2 >= 0 ? num2.charAt(bitLen2) - '0' : 0;
            int sum = bit1 + bit2 + carry;
            carry = sum / 10;
            stringBuilder.append(sum % 10);
            bitLen1--;
            bitLen2--;
        }
        stringBuilder.reverse();
        return stringBuilder.toString();
    }

标签:num1,int,stringBuilder,相加,bitLen1,bitLen2,力扣,415,carry
From: https://www.cnblogs.com/yaocy/p/18327421

相关文章

  • 算法力扣刷题记录 五十八【701.二叉搜索树中的插入操作】
    前言本文是二叉搜索树操作。二叉树篇继续。一、题目阅读给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只......
  • LeetCode 2.两数相加 java
    力扣链接2.两数相加-力扣(LeetCode)题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0......
  • 力扣题解1-两数之和
    LeetCode第一题"两数之和"(TwoSum)问题分析过程:这个问题可以通过多种方法解决,包括暴力解法和使用哈希表的解法。以下是详细的分析过程:暴力解法:遍历数组中的每一对元素,检查它们的和是否等于目标值。时间复杂度是O(n^2),其中n是数组的长度。使用哈希表:使用一......
  • 贪心算法(二) ------力扣860--柠檬水找零,力扣605--种花问题
    目录力扣860----柠檬水找零题目分析 代码 力扣605---种花问题问题题目分析 代码 力扣860----柠檬水找零题目在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你......
  • 力扣3226 使两个整数相等的位更改次数
    写的代码:classSolution{public:stringcc(intnum){stringres="";while(num>0){intr=num%2;res=static_cast<char>(48+r)+res;num/=2;}returnres;}int......
  • 力扣131题:分割回文串的 Java 实现
    引言力扣(LeetCode)是一个在线编程平台,提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题,要求将一个字符串分割成尽可能多的回文子串。本文将介绍如何使用Java解决这个问题。题目描述给定一个字符串s,请将s分割成尽可能多的回文子......
  • 力扣:三数之和(左右双指针思路+动画演示+代码实现)
    题目①双指针思路(双指针匹配方式,还不涉及去重)1.需要的变量个数(三个变量,双指针作为其中两个)left、right已经两个变量,表示两个数。题目求三数之和,只需要另外一个变量i即可!所以一共是nums[i]、nums[left]、nums[right]。存储满足条件的这三个值2.双指针工作原理......
  • 算法力扣刷题记录 五十九【450.删除二叉搜索树中的节点】
    前言记录五十八【701.二叉搜索树中的插入操作】保证插的新节点在叶子节点的位置,如此实现递归。那么【450.删除二叉搜索树中的节点】删除如何实现?还有简单的方法吗?一、题目阅读给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二......
  • 算法力扣刷题记录 五十七【236. 二叉树的最近公共祖先】和【235. 二叉搜索树的最近公
    前言公共祖先解决。二叉树和二叉搜索树条件下的最近公共祖先。二叉树篇继续。一、【236.二叉树的最近公共祖先】题目阅读给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一......
  • 力扣-图
    目录图200-岛屿数量-中等130-被围绕的区域-中等133-克隆图-中等399-除法求值-中等-反复看207-课程表-中等210-课程表II-中等909-蛇梯棋-中等-变态433-最小基因变化-中等-BT127-单词接龙-中等208-实现Trie(前缀树)-中等212-单词搜索-困难211-添加与搜索单词-数据结构涉及-中等BFS......