算法面试题五:反转字符串,整数反转,字符串中的第一个唯一字符
这里介绍反转字符串,整数反转及字符串中的第一个唯一字符的个人解决方法
题目一:反转字符串
1 2 3 4 5 | 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 |
示例 1:
1 2 | 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] |
示例 2:
1 2 | 输入:["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"] |
答案:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /** * @param {character[]} s * @return {void} Do not return anything, modify s in-place instead. */ var reverseString = function(s) { let length = s.length-1; for(let i= 0;i< s.length/2;i++){ let value = ''; value = s[i]; s[i] = s[length-i]; s[length-i] = value; } return s; }; |
题目二:整数反转
1 2 3 4 5 | 给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 |
示例 1:
1 2 | 输入:x = 123 输出:321 |
示例 2:
1 2 | 输入:x = -123 输出:-321 |
示例 3:
1 2 | 输入:x = 120 输出:21 |
示例 4:
1 2 | 输入:x = 0 输出:0 |
答案:
1 2 3 4 5 6 7 8 9 10 | /** * @param {number} x * @return {number} */ var reverse = function(x) { var s = (Math.abs(x) + '').split('').reverse().join(''); var num = +(x < 0 ? '-' + s : s); var b = Math.pow(2, 31); return num >= b || num < (-b) ? 0 : num; }; |
题目三:字符串中的第一个唯一字符
1 | 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 |
示例:
1 2 3 4 5 | s = "leetcode" 返回 0 s = "loveleetcode" 返回 2 |
提示:你可以假定该字符串只包含小写字母。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /** * @param {string} s * @return {number} */ var firstUniqChar = function(s) { let arr = s.split(""); let bind = false; for(let i = 0;i < arr.length;i++){ let num = 0; for(let j = 0;j< arr.length;j++){ if(num == 2){ break; } if(arr[i] == arr[j]){ num++; } } if(num == 1 && bind == false){ bind = i; return bind; } } if(bind == false){ return -1; } }; |
如果对你有帮助,请你点个推荐,我会和你一起进步,加油(*^▽^*)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具