个人主页:熬夜磕代码丶
作品专栏: java se
我变秃了,也变强了
给大家介绍一款程序员必备刷题平台——牛客网
点击注册一起刷题收获大厂offer吧

文章目录

  • 一、字符串中的第一个唯一字符
  • 二、字符串最后一个单词的长度
  • 三、字符串中的单词数
  • 四、转换成小写字母
  • 五、验证回文串

一、字符串中的第一个唯一字符

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

public static void main(String[] args) {int i = firstUniqChar("nowcoder");System.out.println(i);}public static int firstUniqChar(String s) {int[] count = new int[26];for (int i = 0; i <s.length() ; i++) {count[s.charAt(i)-'a']++;}for (int i = 0; i < s.length(); i++) {if(count[s.charAt(i)-'a'] == 1) {return i;}}return -1;}

二、字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
HJ1 字符串最后一个单词的长度

方法1:

public  static void  main(String [] args) throws Exception{Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();String[] strings = s.split(" ");System.out.println(strings[strings.length-1].length());}

方法2:

public  static void  main(String [] args) throws Exception{Scanner scanner = new Scanner(System.in);String s = scanner.nextLine();int count = 0;for (int i = s.length()-1; i >= 0; i--) {if(s.charAt(i) != ' '){count++;}else{break;}}System.out.println(count);}

三、字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。


public int countSegments(String s) {s += ' ';int count = 0;for(int i=0; i<s.length()-1;i++) {if(s.charAt(i)!=' '&&s.charAt(i+1) == ' '){count++;}}return count;}

四、转换成小写字母

给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
方法1:

 public String toLowerCase(String s) {return s.toLowerCase();}

方法2:

public String toLowerCase(String s) {char[] ch = s.toCharArray();for (int i = 0; i < ch.length; i++) {ch[i] = Character.toLowerCase(s.charAt(i));}return new String(ch);}

五、验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
方法1:

public static boolean isTrue(char c) {if((c >= 'a' && c <= 'z')||(c >= '0' && c <= '9')) {return true;}else {return false;}}public static boolean isPalindrome(String s) {s = s.toLowerCase();int left = 0;int right = s.length()-1;while (left < right) {while(left < right && !isTrue(s.charAt(left))) {left++;}while(left < right && !isTrue(s.charAt(right))) {right--;}if(s.charAt(left) != s.charAt(right)) {return false;}else {right--;left++;}}return true;}

方法2:

public static boolean isPalindrome(String s) {s = s.toLowerCase();int left = 0;int right = s.length()-1;while(left < right) {while(left < right &&  !Character.isLetterOrDigit(s.charAt(left)) ) {left++;}while(left < right &&  !Character.isLetterOrDigit(s.charAt(right)) ) {right--;}if(s.charAt(left) != s.charAt(right)) {return false;}else {left++;right--;}}return true;}

牛客网刷题——JAVA相关推荐

  1. 牛客网刷题-java

    大部分解答为牛客网各位同学的精彩回答,本文只是选择一些互联网常考题目记录备忘. 1.一个类的构造器可以调用这个类中的其他构造器: this的作用其中一个就是在一个构造方法中调用另一个构造方法,格式为t ...

  2. 牛客网刷题java之(斐波那契数列)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

    题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 对于本题,前提只有 一次 1阶或者2阶的跳法. a.如果两种跳法, ...

  3. 牛客网刷题java之变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 其实和普通的只能跳一个和两个台阶的思路是一样的,都是为了求迭代表达式. ...

  4. 【牛客网刷题】中秋节前开启java专项练习错题总结第一天

    [牛客网刷题]中秋节前开启java专项练习错题总结第一天 概述 写在前面 错题分析 值得记录的错题 总结 写在最后 概述 还有十几天就到中秋节了,从此又老了一岁,也多了一年的知识积累.对于这样一个特殊 ...

  5. 牛客网刷题记录 || 结构体和类

    这是牛客网刷题记录专栏第五篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统.题库.课程教育.社群交流.招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人 ...

  6. 牛客网刷题之SQL篇:非技术快速入门39T

    导航 前序 一.简单的关键字练习 1-10 二.知识点复习之 ==运算符== 1.算数运算符 2.比较运算符 3.逻辑运算符 4.位运算符 三.10-28T 0.简单题总结 1. SQL18 ==分组 ...

  7. 2023年大年初一 —— 牛客网刷题经验分享~

    2023年大年初一 -- 牛客网刷题经验分享~

  8. 牛客网 刷题前的准备工作(输入 输出 如何接收?)

    牛客网 刷题前的准备工作 牛客网 刷题前的准备工作 1. 数据读取接受问题 2.牛客刷题前的准备: 2.1. 弄清楚输入输出的行数关系 3.代码怎么写 3.1. 在牛客上测试自己的模板代码,是否能正确 ...

  9. 牛客网刷题记录 || 循环

    这是牛客网刷题记录专栏第七篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统.题库.课程教育.社群交流.招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人 ...

  10. verilog牛客网刷题代码汇总

    verilog牛客网刷题代码汇总 作者:安静到无声 个人主页 作者简介:人工智能和硬件设计博士生.CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇. Thanks♪(・ω・)ノ 如果 ...

最新文章

  1. POJ - 3694 Network tanjar割边+lca
  2. 到底什么级别才算是高并发?
  3. 视频演示:高颜值免费在线绘图ImageGP
  4. python乘法口诀表-用python打印99乘法口诀表
  5. 不同坐标系下角速度_技术 | 西安80坐标与地方坐标系的转换方法技巧
  6. pythondifflib详解_用python标准库difflib比较两份文件的异同详解
  7. SQLSERVER复制订阅中的数据库版本选择
  8. 使用 TRESTClient 與 TRESTRequest 作為 HTTP Client 之二 (POST 檔案)
  9. (四)Netty之Buffer缓冲区
  10. Nagios配置监控windows客户端
  11. 每个Python程序员都应该有它。
  12. Oracle 官方文档地址
  13. QT 自带字体样式有哪些?
  14. Oracle官网下载JDK8需要注册怎么办
  15. 1、学生如何购买云服务器、域名(系列:个人博客搭建)
  16. Hadoop 安装snappy(编译源码)
  17. MySQL国内镜像下载地址
  18. 2022广州国际食品饮料包装展览会
  19. Lucene 4.X 全套教程
  20. python爬取百度云资源分享吧_python爬取百度云盘资源

热门文章

  1. MFC SDL FFmpeg视频播放器开发教程(一)
  2. 解决webpack打包报错: Cannot find module '@webassemblyjs/wasm-parser'
  3. 我是如何从零开始自学Android到一万月薪的
  4. 2023最新显卡天梯图 2023显卡天梯排行榜 显卡天梯图2023年1月
  5. 秘密打印机涉密计算机之间,涉密打印机与涉密计算机之间应该怎么连接
  6. python利用opencv去除图片logo_用python+OpenCV去除图片水印
  7. 日系IP的五大“坑”
  8. 桌面被关闭,如何在任务管理器中打开桌面?
  9. ML1.1 机器学习误差分析
  10. 在JSP打开EXCEL文件