兩種遞迴方式實現迴文字
條件:迴文字為奇數長度
第一種:
import java.util.*;
public class rollback {
static Vector s;
public static void main(String[] args)
{
rollback a =new rollback();
s = new Vector();
String v="123454321";
for(int i=0;i<v.length();i++)
{
s.add(v.charAt(i));
}
System.out.println(a.fun(s,0,8,8));
}
boolean fun(Vector s,int start,int end,int n)
{
if(start==end)
return true;
if(s.get(start)==s.get(end))
return fun(s,start+1,n-start-1,n);
return false;
}
}
第二種:
import java.util.*;
public class rollback1 {
static Vector s;
public static void main(String[] args)
{
rollback1 a =new rollback1();
char[] number = new char[]{'a','b','c','d','c','b','a'};
System.out.println(String.valueOf(fun(number)));
}
static boolean fun(char[] number)
{
if(number.length%2 == 0)
return false;
if(number.length== 1)
return true;
else
{
if(number[0] != number[number.length - 1])
return false;
else
{
//delete the first element and the last element
char[] numberCopy = new char[number.length - 2];
for(int i = 0; i < number.length -2; i ++)
numberCopy[i] = number[i + 1];
return fun(numberCopy);
}
}
}
}
相關文章
- php 遞迴函式的三種實現方式PHP遞迴函式
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- Java遍歷資料夾的兩種方法(非遞迴和遞迴)Java遞迴
- 二分查詢的兩種實現形式遞迴和迭代遞迴
- 棧實現遞迴遞迴
- lambda實現遞迴遞迴
- sql 函式實現三種父子遞迴SQL函式遞迴
- SQL Server中CTE的另一種遞迴方式-從底層向上遞迴SQLServer遞迴
- 快速排序-遞迴方式排序遞迴
- 遞迴實現原則遞迴
- strcmp的遞迴實現遞迴
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴
- 遞迴和非遞迴分別實現求n的階乘遞迴
- 斐波那契數列的遞迴和非遞迴實現遞迴
- oracle中的遞迴sql查詢 connect by prior實現遞迴Oracle遞迴SQL
- 原:八皇后問題的遞迴和非遞迴Java實現遞迴Java
- 全域性元件實現遞迴樹,避免迴圈引用元件遞迴
- 遞迴和尾遞迴遞迴
- 不用遞迴實現樹形結構的一種方法遞迴
- 用 JavaScript 的方式理解遞迴JavaScript遞迴
- 尾遞迴實現深複製遞迴
- 用 Promise + 遞迴實現灌酒動畫Promise遞迴動畫
- C#實現FFT(遞迴法)C#FFT遞迴
- 遞迴實現指數型列舉遞迴
- 如何遞迴實現陣列求和遞迴陣列
- 遞迴實現漢諾塔問題遞迴
- c#遞迴實現 階乘C#遞迴
- 快速排序【遞迴】【非遞迴】排序遞迴
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴
- 二分法的簡單實現——-遞迴和非遞迴遞迴
- Android遍歷所有控制元件的遞迴和非遞迴實現Android控制元件遞迴
- 【演算法拾遺】二分查詢遞迴非遞迴實現演算法遞迴
- 斐波那契數列(Fibonacci)遞迴和非遞迴實現遞迴
- 二叉樹的四種遍歷(遞迴與非遞迴)二叉樹遞迴
- 盤點用jQuery框架實現“for迴圈”的四種方式!jQuery框架
- 二十一、氣泡排序演算法——JAVA實現(遞迴與非遞迴)排序演算法Java遞迴
- [java] 二叉樹的後序遍歷(遞迴與非遞迴實現)Java二叉樹遞迴
- 歸併排序的非遞迴實現排序遞迴