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

【LeetCode】1768_交替合并字符串_C

题目描述

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

返回 合并后的字符串

https://leetcode.cn/problems/merge-strings-alternately/description/

示例

示例 1:

输入:word1 = "abc", word2 = "pqr"
输出:"apbqcr"
解释:字符串合并情况如下所示:
word1:  a   b   c
word2:    p   q   r
合并后:  a p b q c r

示例 2:

输入:word1 = "ab", word2 = "pqrs"
输出:"apbqrs"
解释:注意,word2 比 word1 长,"rs" 需要追加到合并后字符串的末尾。
word1:  a   b 
word2:    p   q   r   s
合并后:  a p b q   r   s

示例 3:

输入:word1 = "abcd", word2 = "pq"
输出:"apbqcd"
解释:注意,word1 比 word2 长,"cd" 需要追加到合并后字符串的末尾。
word1:  a   b   c   d
word2:    p   q 
合并后:  a p b q c   d

提示:

  • 1 <= word1.length, word2.length <= 100
  • word1word2 由小写英文字母组成

解题总结

实现方式1是我自己的写法,写完之后感觉有点冗余,但又不知如何改进,实现方式2则是借鉴了别人的题解,显然,方式2的代码更加简洁优雅

代码实现

  • 实现方式1
char * mergeAlternately(char * word1, char * word2){int length1 = strlen(word1);int length2 = strlen(word2);char* res = (char*)malloc(sizeof(char) * (length1 + length2 + 1));int i = 0;int j = 0;while(word1[i] != 0 && word2[i] != 0){res[j] = word1[i];j++;res[j] = word2[i];i++;j++;}if(word1[i] == 0){while(word2[i] != 0){res[j] = word2[i];i++;j++;}}else{while(word1[i] != 0){res[j] = word1[i];i++;j++;}}res[j] = 0;return res;
}
  • 实现方式2
char * mergeAlternately(char * word1, char * word2) {int length1 = strlen(word1);int length2 = strlen(word2);char* res = malloc(sizeof(char) * (length1 + length2 + 1));int i = 0;int j = 0;while (i < length1 || i < length2) {if (i < strlen(word1)) {res[j++] = word1[i];}if (i < strlen(word2)) {res[j++] = word2[i];}i++;}res[j] = 0;return res;
}

相关文章:

【LeetCode】1768_交替合并字符串_C

题目描述 给你两个字符串 word1 和 word2 。请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 https://leetcode.cn/problems/merge-strings-al…...

C#解析JSON

https://blog.csdn.net/weixin_43046974/article/details/131449900 C#解析JSON 1. JSON定义2. JSON一般构成及解析方法3. 解析举例子 1. JSON对象解析&#xff0c;只包含一层对象{}2. 嵌套JSON对象解析&#xff0c;包含多层对象{}3. JSON数组解析1&#xff08;数组循环遍历&…...

AI图像识别算法助力安全生产*提升风险监测效率---豌豆云

2024年开年来安全生产事故频发&#xff0c;工厂爆炸、工程坍陷等重大安全生产事故的发生再次为我们敲响了警钟。 安全生产是企业发展的生命线&#xff0c;而传统的安全监测手段存在盲区和延迟&#xff0c;难以及时发现和应对潜在风险。 AI图像识别算法通过利用先进的计算机视…...

CSS技巧:实现两个div在同一行显示的方法

css如何让两个div在同一行显示 - web开发 - 亿速云 在Web开发中&#xff0c;经常遇到需要将多个元素水平排列在同一行的情况。其中一个常见的需求是将两个div元素放置在同一行上&#xff0c;使它们并排显示。在本文中&#xff0c;我们将介绍几种实现这一效果的CSS方法。 1. 使…...

【Unity】Node.js安装与配置环境

引言 我们在使用unity开发的时候&#xff0c;有时候会使用一些辅助工具。 Node.js就是开发中&#xff0c;经常会遇到的一款软件。 1.下载Node.js 下载地址&#xff1a;https://nodejs.org/en 2.安装Node.js ①点击直接点击Next下一步 ②把协议勾上&#xff0c;继续点击…...

Vue3:使用 Composition API 不需要 Pinia

在 Vue.js 开发的动态环境中&#xff0c;在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理&#xff0c;但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法&#xff0c;说明开发人员…...

ExoPlayer 播放视频黑屏的解决方法

最近项目中在使用 ExoPlayer 来进行视频的播放&#xff0c;开发过程中遇到了部分视频打开后黑屏的问题&#xff0c;报错日志如下。 E Audio codec error android.media.MediaCodec$CodecException: Error 0xe E Playback error androidx.media3.exoplayer.ExoPlaybackExcept…...

C语言初阶—数组

数组是一组相同类型元素的集合。 在C99标准之前&#xff0c;数组的大小必须是常量或常量表达式。 在C99标准之后&#xff0c;数组的大小可以是变量&#xff0c;可以支持变长数组&#xff0c;但变长数组不能初始化。 不完全初始化&#xff0c;剩余的元素默认初始化为0 。 数组访…...

飞桨(PaddlePaddle)数据预处理教程

文章目录 飞桨&#xff08;PaddlePaddle&#xff09;数据预处理教程1. 安装飞桨2. 了解飞桨的数据预处理方法3. 应用单个数据预处理方法4. 组合多个数据预处理方法5. 在数据集中应用数据预处理5.1 在框架内置数据集中应用5.2 在自定义数据集中应用 6. 总结 飞桨&#xff08;Pad…...

MYSQL C++链接接口编程

使用MYSQL 提供的C接口来访问数据库,官网比较零碎,又不想全部精读一下,百度CSDN都是乱七八糟的,大部分不可用 官网教程地址 https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html 网上之所以乱七八糟,主要是MYSQL提供了3个接口两个包,使用…...

并发编程中常见的设计模式,c++多线程如何设计

C多线程设计&#xff08;任务的“多对一”、“一对多”、“多对多”情况 该如何设计线程&#xff1f;&#xff09; C书籍中并未找到对多线程设计&#xff0c;有很完整详细的总结&#xff01;&#xff01;C并发编程书籍中也只是一些理论或则零散的多线程实例。无奈&#xff0c;…...

解决android studio build Output中文乱码

1.效果如下所示&#xff1a; 代码运行报错的时候&#xff0c;Build Output报的错误日志中中文部分出现乱码&#xff0c;导致看不到到底报的什么错。 2.解决办法如下&#xff1a; 点击Android studio开发工具栏的Help-Edit Custom VM Options....&#xff0c;Android studio会…...

[云原生] K8s之pod进阶

一、pod的状态说明 &#xff08;1&#xff09;Pod 一直处于Pending状态 Pending状态意味着Pod的YAML文件已经提交给Kubernetes&#xff0c;API对象已经被创建并保存在Etcd当中。但是&#xff0c;这个Pod里有些容器因为某种原因而不能被顺利创建。比如&#xff0c;调度不成功(…...

[Unity3d] 网络开发基础【个人复习笔记/有不足之处欢迎斧正/侵删】

TCP/IP TCP/IP协议是一 系列规则(协议)的统称&#xff0c;他们定义了消息在网络间进行传输的规则 是供已连接互联网的设备进行通信的通信规则 OSI模型只是一个基本概念,而TCP/IP协议是基于这个概念的具体实现 TCP和UDP协议 TCP:传输控制协议&#xff0c;面向连接&#xff0c…...

Tomcat的配置文件

Tomcat的配置文件详解 一.Tomcat的配置文件 Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中&#xff0c;主要有以下几个&#xff1a; 1.server.xml: Tomcat的主配置文件&#xff0c;包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息&#x…...

猴子吃桃问题(python版)

文章预览&#xff1a; 题目python解法一&#xff1a;运行结果 python解法二&#xff1a;运行结果 python解法三&#xff1a;运行结果 题目 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不过瘾&#xff0c;又多吃了一个。 第二天早…...

C语言入门到精通之练习49:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。

题目&#xff1a;读取7个数&#xff08;1—50&#xff09;的整数值&#xff0c;每读取一个值&#xff0c;程序打印出该值个数的 &#xff0a;。 程序分析&#xff1a;无。 实例 #include<stdio.h> #include<stdlib.h> int main() {int n,i,j;printf("请输入…...

如何在Windows轻量应用服务器上安装和配置SSH?

如何在Windows轻量应用服务器上安装和配置SSH&#xff1f; 检查OpenSSH的可用性&#xff1a;首先&#xff0c;需要以管理员身份打开PowerShell并运行命令Get-WindowsCapability - Online | Where-Object Name - like OpenSSH*来检查OpenSSH服务是否可用。如果服务未启动或不可…...

leetcode日记(36)全排列

想思路想了很久……思路对了应该会很好做。 我的思路是这样的&#xff1a;只变化前n个数字&#xff0c;不断增加n&#xff0c;由2到nums.size()&#xff0c;使用递归直到得到所有结果 代码如下&#xff1a; class Solution { public:vector<vector<int>> permut…...

Flink:动态表 / 时态表 / 版本表 / 普通表 概念区别澄清

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…...

为什么你的NotebookLM中文摘要总漏关键信息?3个被官方文档忽略的语言标记陷阱,90%用户正在踩坑

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM多语言支持 NotebookLM 原生支持多种语言的文档理解与对话生成&#xff0c;其底层模型经过多语言语料联合训练&#xff0c;可无缝处理中、英、日、韩、法、德、西等 20 种语言的混合输入。用户上传非…...

保姆级教程:用MATLAB R2019a搞定小波分析,从数据导入到等值线图绘制全流程

MATLAB小波分析实战&#xff1a;从数据清洗到可视化呈现的完整指南 小波分析作为时频域分析的利器&#xff0c;在信号处理、地球物理、生物医学等领域广泛应用。但对于刚接触MATLAB的研究生或数据分析师而言&#xff0c;如何将Excel中的原始数据一步步转化为专业的小波系数图和…...

告别串口调试烦恼:用MAX3221EUE+芯片搞定TTL转RS232的完整电路与PCB布局指南

告别串口调试烦恼&#xff1a;用MAX3221EUE芯片搞定TTL转RS232的完整电路与PCB布局指南 在嵌入式开发中&#xff0c;与老式工控设备或带DB9接口的PC通信时&#xff0c;TTL与RS232之间的电平转换是个绕不开的坎。不少开发者都遇到过这样的场景&#xff1a;代码调试一切正常&…...

Jenga框架双引擎设计:视频生成效率优化解析

1. Jenga框架核心设计解析Jenga视频生成框架的核心创新在于其双引擎设计&#xff1a;渐进式分辨率(ProRes)和动态块稀疏注意力(AttenCarve)。这两种技术协同工作&#xff0c;解决了Transformer架构在视频生成中的计算效率瓶颈。1.1 渐进式分辨率技术(ProRes)ProRes采用分阶段生…...

如何5分钟掌握SD-PPP:Photoshop AI插件完整入门指南

如何5分钟掌握SD-PPP&#xff1a;Photoshop AI插件完整入门指南 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp SD-PPP是一款革命性的Photoshop AI插件&#xff0c;它将强大的AI绘图能力无缝集成到Adobe Photoshop…...

AI生成论文的查重率区间是多少?目前控制AIGC疑似率最好用的软件有哪些?

毕业、投稿阶段难题频发&#xff0c;常规 AI 撰写论文&#xff0c;查重率普遍处在 35%-60% 区间&#xff0c;AIGC 疑似率更是达到 50%-70%&#xff0c;知网、维普检测极易不合格&#xff0c;进而引发答辩延后、错失评优资格等问题。下文实测四款热门工具&#xff0c;帮大家找准…...

G-Helper:释放华硕笔记本性能的免费开源轻量控制神器

G-Helper&#xff1a;释放华硕笔记本性能的免费开源轻量控制神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exp…...

大模型常识能力构建:从幻觉到可信赖推理的四层工程实践

1. 项目概述&#xff1a;当大模型开始“琢磨事儿”——我们离真正有常识的AI还有多远&#xff1f;你有没有试过让当前最火的大模型帮你解决一个看似简单、却需要生活经验的问题&#xff1f;比如&#xff1a;“如果我把一罐可乐放进冰箱冷冻室&#xff0c;两小时后拿出来&#x…...

不止于Windows:用QtService源码打造跨平台(Windows/Linux)守护进程的实践指南

不止于Windows&#xff1a;用QtService源码打造跨平台守护进程的实践指南 在当今多平台开发环境中&#xff0c;Qt框架因其卓越的跨平台能力而备受青睐。但当我们从GUI应用转向后台服务开发时&#xff0c;许多开发者会发现一个尴尬的现实&#xff1a;Windows服务与Linux守护进程…...

为什么我看不到我的图库中的照片?修复并恢复图片

照片在我们生活中占据着特殊的地位&#xff0c;它们帮助我们重温珍贵的回忆&#xff0c;并与远近的亲人保持联系。照片就像一扇通往我们最珍贵时刻的私人窗口&#xff0c;因此&#xff0c;当它们突然从相册应用中消失时&#xff0c;会格外令人沮丧。如果你曾经疑惑过“为什么我…...