当前位置: 首页 > news >正文

LintCode1343-两字符串和,1535-转换成小写字母

第1343题:

描述

给定两个仅含数字的字符串,你需要返回一个由各个位之和拼接的字符串

  • A 和 B 是由数字组成的字符串

样例 1:

输入:
A = "99"
B = "111"
输出: 
"11010"
解释: 
格式化后:A = "099",B = "111"
因为 0 + 1 = 1,9 + 1 = 10,9 + 1 = 10
连接之后的结果是 "1" + "10" + "10" -> "11010"

样例 2:

输入:
A = "2"
B = "321"
输出:
"323"
解释:
格式化后:A = "002",B = "321"
因为 0 + 3 = 3,0 + 2 = 2,2 + 1 = 3
连接之后的结果是 "3" + "2" + "3" -> "323"

 将字符转化为数字并进行计算通常有3种方式:

以该题为例

1.(aStringBuilder.charAt(j) - '0') + (bStringBuilder.charAt(j) - '0')(最推荐)。

2.语义明确,简洁:Character.getNumericValue

3.符合 parseInt 逻辑: 使用 Integer.parseInt(String.valueOf(char)),但速度最慢

代码如下:

public class Solution {

    /**

     * @param a: a string

     * @param b: a string

     * @return: return the sum of two strings

     */

    public String sumofTwoStrings(String a, String b) {

        // write your code here

        int m=a.length();

        int n=b.length();

        int offSet=Math.abs(m-n);

        StringBuilder aStringBuilder=new StringBuilder(a);

        StringBuilder bStringBuilder=new StringBuilder(b);

        //同步长度

        if(m>n)

        {   //将b追加长度

            for(int i=1;i<=offSet;i++)//i指的是个数

            {  

                bStringBuilder.insert(0,'0');

            }

           

        }else if(m<n)

        {

            //将a追加长度

            for(int i=1;i<=offSet;i++)//i指的是个数

            {  

                aStringBuilder.insert(0,'0');

            }

        }

        int length=Math.max(m,n);

        StringBuilder finalStringBuilder=new StringBuilder();

        for(int j=0;j<length;j++)

        {

            finalStringBuilder.append((aStringBuilder.charAt(j)-'0'+bStringBuilder.charAt(j)-'0')+"");

        }

        return finalStringBuilder.toString();

    }

}

第1535题:

描述

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串.

示例 1:

输入: "Hello"
输出: "hello"

示例 2:

输入: "here"
输出: "here"

示例 3:

输入: "LOVELY"
输出: "lovely"

代码如下:

public class Solution {

    /**

     * @param s: the input string

     * @return: The lower case string

     */

    public String toLowerCase(String s) {

        // Write your code here

        char[] sCharArray=s.toCharArray();

        for(int i=0;i<sCharArray.length;i++)

        {

            if(sCharArray[i]>='A'&&sCharArray[i]<='Z')

            {

                sCharArray[i]=(char)(sCharArray[i]+32);

            }

        }

        StringBuilder stringBuilder=new StringBuilder();

        for(int j=0;j<sCharArray.length;j++)

        {

            stringBuilder.append(sCharArray[j]);

        }

        return stringBuilder.toString();

    }

}

 

相关文章:

  • 强化学习三大基本方法-DP、MC、TD
  • setData执行后操作方法-微信小程序
  • AD 绘制原理图--元件的放置
  • 服务器多客户端连接核心要点(1)
  • 11.多用组合和少继承
  • 关税新政冲击波:海外仓成跨境电商角逐美国市场“利刃”?
  • OpenHarmony SystemUI开发——实现全局导航栏和状态栏关闭
  • powershell_bypass.cna 插件(适配 Cobalt Strike 4.0 的免费版本下载地址)
  • selenium替代----playwright
  • 分析NVIDIA的股价和业绩暴涨的原因
  • 计算机二级WPS Office第三套电子表格
  • 苍穹外卖--公共字段自动填充
  • Windows 忘记密码怎么办?
  • 深度解析动态IP业务核心场景:从技术演进到行业实践
  • 使用Python删除PDF中多余或空白的页面
  • 升级element-ui步骤
  • nacos-server-2.2.2.tar及使用方式
  • 【UEFN】用于可靠多模态情感分析的高效不确定性估计融合网络
  • 【Java基础】——集合篇
  • 4-37:某单位分配到一个地址块 136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:....
  • 宇数科技王兴兴:第一桶金来自上海,欢迎上海的年轻人加入
  • 上海发布首份直播电商行业自律公约,禁止虚假宣传、商业诋毁
  • 国办印发《关于进一步加强困境儿童福利保障工作的意见》
  • 明明睡够了,怎么还有黑眼圈?可能是身体在求救
  • 近4小时会谈、3项联合声明、20多份双边合作文本,中俄元首今年首次面对面会晤成果颇丰
  • 美英达成贸易协议,美股集体收涨