首页 > 其他分享 >力扣第409:最长回文串

力扣第409:最长回文串

时间:2023-05-24 18:47:28浏览次数:33  
标签:char int 力扣 num ans 409 回文

力扣第409:最长回文串
回文串,正倒着读是一样的
代码抄录自> 我不想当菜鸟

点击查看java代码 ``` class Solution { public int longestPalindrome(String s) { int[] letter = new int[128]; char[] cs = s.toCharArray(); for(char c : cs){ letter[c]++; } int ans = 0; for(int num : letter){ //num % 2要么为0要么为1 //为1,说明次数为奇数,减去一个 ans += num - (num % 2); } return ans == s.length() ? ans : ans + 1; } } ```
for(char c:chars)* 就是定义一个遍历字符c,让它分别等于字符串数组chars里面的各个字符,然后执行下面的语句,当c被赋值为chars里面所有字符各一次后,就会退出这个循环. * ans == s.length() ? ans : ans + 1;还不知道啥意思来着。。。 * s.toCharArray():将s='abc'转化为['a','b','c']这种的作用

标签:char,int,力扣,num,ans,409,回文
From: https://www.cnblogs.com/arlblog/p/17429214.html

相关文章

  • 剑指 Offer II 018(Java). 有效的回文(简单)
    题目:给定一个字符串s,验证s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。本题中,将空字符串定义为有效的 回文串 。 示例1:输入:s="Aman,aplan,acanal:Panama"输出:true解释:"amanaplanacanalpanama"是回文串示例2:输入:s="raceacar"......
  • 【力扣每日一题】129. 求根到叶子节点数字之和
    不得不说,憨憨脑袋没有递归~~~1.题目描述2.题目分析题目意思很简单,遍历树的每一条路径,然后相加,返回最后结果思路一:DFS【每次看代码就秒懂,自己每次都想不到】:递递归归,莫有脑袋。每次递归加上从一开始的值思路二:BFS【个人最喜欢的】:维护两个队列,队列一存放root,队列二存放val,每次遍......
  • 【力扣每日一题】1207. 独一无二的出现次数
    没想到C#的修改value值,可以直接dis[key]=value进行修改~~~1.题目描述2.题目分析每个数字在数组中出现的次数是独一无二的思路一:桶排,看了看数据范围,挺小,可以桶排思路二:字典(HashMap),最后Value都是等于1的返回true3.题目代码publicstaticboolUniqueOccurrences(int[]arr)......
  • 【力扣每日一题】144. 二叉树的前序遍历
    1.题目描述2.题目解析非常典型的一道二叉树题目思路一:递归求解思路二:迭代求解3.题目代码3.1递归**publicIList<int>PreorderTraversal(TreeNoderoot){List<int>list=newList<int>();Tree(root,list);returnlist;......
  • 回文数
    一、问题描述打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数)。二、设计思路对于要判定的数n,计算出其平方后(存于a),按照“回文数”的定义要将最高位与最低位、次高位与次低位······进行比较,若彼此相等则为回文数。此算法需要知道平方数的位数,再一一将每一......
  • 力扣 647. 回文子串
    647.回文子串给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示......
  • 回文串和回文自动机
    1PAM简介1.1PAM的形式PAM是一个自动机,它的普通边组成了两棵树,fail边组成了一棵树。这两棵普通树分别表示主串中所有奇数长度的回文串和偶数长度的回文串,其根节点分别叫做“奇根”和“偶根”。普通边上有字母(类似trie/SAM的普通边,都是存\(\sum\)个外链,但是有一些是无......
  • 力扣2. 两数相加
    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。 示例1:输入:l1=[2,4,3],l2=[5,6......
  • 力扣---1161. 最大层内元素和
    给你一个二叉树的根节点 root。设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。请返回层内元素之和最大的那几层(可能只有一层)的层号,并返回其中 最小的那个。 示例1:输入:root=[1,7,0,7,-8,null,null]输出:2解释:第1层各元素之和为1,第2层各元素......
  • 回文数
    ```#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#defineN10voidmain(){   intn[N];   inti,j,k,s=0,flag,a;   for(i=0;i<=256;i++)   {       a=i*i;flag=1;s=1;       for(j=10;a/j!=0;s......