【leetcode】Add Binary
先补全字符串,从末尾开始加,每次计算当前位和进位即可
1 class Solution { 2 public: 3 char addBit(char a,char b,char &c) 4 { 5 if(a==b&&a=='1') 6 { 7 char ret; 8 ret=c; 9 c='1'; 10 return ret; 11 } 12 else if(a==b&&a=='0') 13 { 14 15 if(c=='0') 16 { 17 return '0'; 18 } 19 else 20 { 21 c='0'; 22 return '1'; 23 } 24 } 25 else 26 { 27 if(c=='1') 28 return '0'; 29 else 30 return '1'; 31 32 } 33 } 34 35 string addBinary(string a, string b) { 36 37 int na=a.length()-1; 38 int nb=b.length()-1; 39 40 if(na!=nb) 41 { 42 string tmp(abs(na-nb),'0'); 43 if(na>nb) 44 b=tmp+b; 45 else 46 a=tmp+a; 47 } 48 49 int i=a.length()-1; 50 string result(a.length(), '1'); 51 char c='0'; 52 53 while(i>=0) 54 { 55 result[i]=addBit(a[i],b[i],c); 56 i--; 57 } 58 if(c=='0') 59 { 60 return result; 61 } 62 else 63 { 64 return '1'+result; 65 } 66 } 67 };
分类:
算法研究
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现