常考数据结构与算法:反转字符串
题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
示例
输入
"abcd"
返回值
"dcba"
public class ReverseStrMe {public static void main(String[] args) {ReverseStrMe reverseStrMe = new ReverseStrMe();System.out.println(reverseStrMe.solve3("abcdef"));}/*使用charAt方法*/public String solve1 (String str) {if(null == str || str.length() <= 1){return str;}StringBuilder stringBuilder = new StringBuilder();for (int i = str.length()-1; i>=0; i--) {stringBuilder.append(str.charAt(i));}return stringBuilder.toString();}/*使用toCharArray方法*/public String solve2 (String str) {if(null == str || str.length() <= 1){return str;}int head = 0;int end = str.length()-1;char temp = '0';char[] charArr = str.toCharArray();while(head < end){temp = charArr[head];charArr[head] = charArr[end];charArr[end] = temp;head++;end--;}return String.valueOf(charArr);}/*使用StringBuilder的reverse()方法*/public String solve3 (String str) {if(null == str || str.length() <= 1){return str;}StringBuilder stringBuilder = new StringBuilder(str);stringBuilder.reverse();return stringBuilder.toString();}}
常考数据结构与算法:反转字符串相关推荐
- 常考数据结构与算法:找到字符串的最长无重复字符子串
题目描述 给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同). 示例1 输入 [2,3,4,5] 返回值 4 示例2 输入 [2,2,3,4,3] 返回值 3 方法 ...
- 常考数据结构与算法:将字符串转为整数
题目描述 实现函数 atoi .函数的功能为将字符串转化为整数 提示:仔细思考所有可能的输入情况.这个问题没有给出输入的限制,你需要自己考虑所有可能的情况. 思路: 1. 需要判断正负数 2. 需 ...
- 常考数据结构与算法:反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头. 示例1 输入 {1,2,3} 返回值 {3,2,1} public class ReserverAlgo {public static void ...
- 常考数据结构与算法:输出二叉树的右视图
题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...
- 常考数据结构与算法:求二叉树的层序遍历
题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...
- 常考数据结构与算法:每k个节点反转链表
题目: 给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 : 给定这 ...
- 常考数据结构与算法:最长公共子串
题目描述 给定两个字符串str1和str2,输出两个字符串的最长公共子串 题目保证str1和str2的最长公共子串存在且唯一. 示例1 输入 "1AB2345CD","1 ...
- 常考数据结构与算法-manacher算法
回文字符串123321 回文直径:6 回文半径:3 求一个字符串中的最长回文字符串. abc123321def 一般会在原字符串中添加特殊字符,比如添加"#". 变成#a#b#c# ...
- 常考数据结构与算法:表达式求值
题目描述 请写一个整数计算器,支持加减乘三种运算和括号. 示例2 输入 "(2*(3-4))*5" 返回值 -10 运算符号有优先级,所以使用单调栈可以解决改问题.如下代码,效率比 ...
最新文章
- 把文档放到PNG图片中
- 代码统计工具1.1版本技术文档
- MySQL - 体系结构初探
- 赵童鞋带你入门PHP(六) ThinkPHP框架入门
- Android基础——项目的文件结构(三)
- 用Python执行js文件代码并获取返回结果
- JDBC –模拟序列
- 刻录光盘(信息学奥赛一本通-T1383)
- Best Coder Lotus and Characters
- LVS(DR)+keepalived+nfs+raid+LVM
- Centos Nginx+PHP Install 史上最完美
- Vim 多行剪切、复制和删除
- Win系统 - N卡如何组建三联屏?
- win7搜索文件怎么搜索文件名中带圆括号的文件?
- TikTok企业号的功能
- Facebook 如何管理 150亿张照片
- java实现qq空间模块_最新免费QQ空间模块个性边框代码
- java技术栈xmind,zookeeper面试
- iFunk牵手苏宁达成战略合作,iFunk翼震撼首发
- 2020年度开发者工具Top 100名单!你用过几个...