java算法:递归输出回文数字

java 递归输出回文数字

在google搜一下发现很判断回文的递归程序,很少有递归输出回文的,因此 补缺

例如:参数:4 输出:4321234。可以改写成“abba”字母回文;

程序如下:

public class TestDG {
public int fun(int var) {
   if(var>1){
 System.out.println(var);
 System.out.println( fun(var - 1));
   }
   return var;
}
 public static void main(String[] args) {
 TestDG dg = new TestDG();
 System.out.println(dg.fun(10));
}
}

时间: 2024-10-27 00:36:44

java算法:递归输出回文数字的相关文章

java-关于Java链栈判断回文出现的空指针问题求解答-0-

问题描述 关于Java链栈判断回文出现的空指针问题求解答-0- public boolean isPalindSeq(String str)throws Exception{ if (str == null) { return false; } LinkStack s1=new LinkStack(); int i=0; do{ if(Character.isWhitespace((str.charAt(i)))){ i++; continue; } else{ s1.push(str.char

[算法系列之七]Manacher算法之最大回文子串

回文串定义:"回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串. 回文子串,顾名思义,即字符串中满足回文性质的子串. 经常有一些题目围绕回文子串进行讨论,比如  HDOJ_3068_最长回文,求最长回文子串的长度.朴素算法是依次以每一个字符为中心向两侧进行扩展, 显然这个复杂度是 O(N^2)的,关于字符串的题目常用的算法有 KMP.后缀数组. AC 自动机,这道题目利用扩展 KMP可以解答,其时间复杂度也

Java实现递归经典案例——三角数字的多种实现方式

三角数字的定义就是:第n个三角数字是 由 1+...+n 所得. 1.的三角数字是 1 2.的三角数字是 1 + 2 = 3 3.的三角数字是 1 + 2 + 3 = 6 1.while循环实现的方式 public int getTriangleNumber(int n)       {           int totle = 0;           while(n>0) // 从1 开始           {               totle = totle+(n--);    

PHP输出两个数字中间有多少个回文数的方法_php技巧

本文实例讲述了PHP输出两个数字中间有多少个回文数的方法.分享给大家供大家参考.具体分析如下: "回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数. <?php for($i=10;$i<100;$i++){ $len=strlen($i); $l=1; $k=intval($len)/2+1; for($j=0;$j<$k;$j++){ if (substr($i,$j,1)!=substr($

算法:uva 11404 Palindromic Subsequence(LCS回文串,最小字典序)

题目大意 给一个字符串,输出它的最长回文串,如果有多个结果,输出字典序最小的. 思 路 我们都知道把一个字符串逆序后和原字符串进最长公共子序列,可以计算出它的最长回文串长度. 但是这题不仅要输出回文串,而且还要求是字典序最小的,所以挺难搞的. 设str1是正序字符串, str2是逆序后的字符串 f[i][j].len 表示str1的前i位,str2的前j位,最长公共子串的长度 f[i] [j].str 表示str1的前i位,str2的前j位,最长公共子串的最小字典序的字符串 状态转移和正常的LC

Java实现查找当前字符串最大回文串代码分享_java

先看代码 public class MaxHuiWen { public static void main(String[] args) { // TODO Auto-generated method stub String s = "abb"; MaxHuiWen(s); } //1.输出回文串 public static void MaxHuiWen(String s){ //存储字符串的长度 int length = s.length(); //存储最长的回文串 String M

Manacher&#039;s Algorithm 求解字符串的最长回文串

Manacher算法:O(n)求字符串的最长回文串 1:算法可以在O(n)的时间内求出以每一个字符为中心的最长回文串 2:算法把奇数回文串和偶数回文串统一起来考虑 3:算法大致过程是这样.先在每两个相邻字符中间插入一个分隔符,当然这个分隔符要在原串中没有出现过.一般可以用'#'分隔.这样就非常巧妙的将奇数长度回文串与偶数长度回文串统一起来考虑了(见下面的一个例子,回文串长度全为奇数了),然后用一个辅助数组rad记录以每个字符为中心的最长回文串的信息.rad[i]记录的是以字符str[i]为中心的

[LeetCode] Palindrome Number &amp;amp; Valid Palindrome - 回文系列问题

题目概述: Determine whether an integer is a palindrome. Do this without extra space. 题目分析: 判断数字是否是回文 例如121.656.3443 方法有很多,正着看和到着看两数相同:当然负数显然不是回文 我的方法: 第一种方法: 由于没有没有看到前面的without extra space.采用的方法是把数字转换为字符串,依次比较最前和最后两个字符是否相同,直到遍历完毕. /** * 判断一个数字是否是回文数字 Pal

[百度]2014百度校园招聘之最长回文串

[题目] 给你一个字符串,找出该字符串中对称的子字符串的最大长度.即求最大回文串. [思路1]暴力法 即不使用技巧,穷举所有可能.时间复杂度为O(n^3)(时间上最长,不推荐使用),空间复杂度为O(1). 本思路是从最大长度的字串开始,而不是从最小开始.假如说给定的字符串为len,先遍历长度为len的字串是否为回文串,如果是停止, 如果不是遍历长度为len-1的字串是否是回文串,一次类推. #include <iostream> using namespace std; //是否是回文串 bo