力扣 (LeetCode) 刷题,简单题 (第 16 期)
力扣(LeetCode)定期刷题,每期 10 道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。
第 1 题:数组异或操作
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 2 题:交换数字
试题要求如下:
解答思路:
异或思路:a ^ b = c c ^ b = a a ^ c = b
回答(C 语言):
复制代码
运行效率如下所示:
第 3 题:按既定顺序创建目标数组
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 4 题:数组中两元素的最大乘积
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 5 题:删除链表中的节点
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 6 题:在既定时间做作业的学生人数
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 7 题:二进制链表转整数
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 8 题:分割平衡字符串
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
第 9 题:不用加号的加法
试题要求如下:
解答思路:
普通加法中:例如 13 + 8
如果我们先将对应位子的数字相加,不考虑进位的话,应该是:
3 + 8 = 1 进位为 1
1 + 0 = 1 进位为 0
之后我们将个位的进位 1 与十位上的 1 相加
1 + 1 = 2 进位为 0
如果我们将此方法带入到二进制的运算中是否可行呢?
13 => 1101
8 => 1000
回答(C 语言):
复制代码
运行效率如下所示:
第 10 题:字符串相加
试题要求如下:
回答(C 语言):
复制代码
运行效率如下所示:
版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/b3fc05a5530cd3448f5c9ff65】。文章转载请联系作者。
评论