1. 程式人生 > >利用遞迴判斷迴文(Java)

利用遞迴判斷迴文(Java)

public class HuiWen{
	public static void main(String[] args) {
		char[] strs = {'2','4','d','4','2'};
		boolean huiwen = isHuiwen(strs, 0, strs.length -1,strs.length);
		System.out.println(huiwen);
	}
	
	public static boolean isHuiwen(char a[],int low,int high,int length){
		if(length == 1 || length == 0)
			return true;
		if (a[low] != a[high] || low >= high) {
			return false;
		}
		
		return isHuiwen(a, low + 1, high -1,length -2);
	}
}

相關推薦

利用判斷Java

public class HuiWen{ public static void main(String[] args) { char[] strs = {'2','4','d','4','2'}

斐波那契數列--對比與動態規劃JAVA

兔子繁殖問題: 這是一個有趣的古典數學問題,著名義大利數學家Fibonacci曾提出一個問題:有一對小兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。按此規律,假設沒有兔子死亡,第一個月有一對剛出生的小兔子,問第n個月有多少

判斷字元大小寫Java

要求:任意輸入一個字串,分別輸出字串中的大寫字元和小寫字元。 說明:java中提供了區分大小寫的方法,即Character.isUpperCase(char c),Character.isLowerC

求最大素因數java

可能經常進群會問這個群號的最大素因數是多少,或者演算法題中也會遇到。今天就寫一下求最大質因數的模板。 首先分析,怎麼求一個數的最大素因數。首先,我們以前求過最大因數,求最大因數的最暴力為2—n-1暴力查詢,但是這樣太超時了,後來發現在根號n前或者後某個區域查詢就行了。

Fibonacci序列演算法與Java

Fibonacci遞推公式: f(1) = f(2) = 1;f(n) = f(n-1)+f(n-2)(n>2).在這裡取他除以10007的餘數 遞迴 public class Fibonacci { static int digui(int n) {

藍橋杯java:特殊數,十進位制轉十六進位制,十六進位制轉十進位制,十六進位制轉八進位制,數列排序

人生不易,生活無趣。一起來找點樂子吧。     特殊迴文數: 問題描述   123321是一個非常特殊的數,它從左邊讀和從右邊讀是一樣的。   輸入一個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。 輸入格式   輸入一行,包

藍橋杯java:數列特徵,查詢整數,楊輝三角,特殊的數字,

人生無趣,生活不易,一起找點樂子吧。     數列特徵: 問題描述 給出n個數,找出這n個數的最大值,最小值,和。 輸入格式 第一行為整數n,表示數的個數。 第二行有n個數,為給定的n個數,每個數的絕對值都小於10000。 輸出格式 輸出三行,每行一個整

LeetCode 9.Java

題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。

二叉樹前序、中序、後序與非遍歷+層序遍歷java

    前序遞迴遍歷演算法:訪問根結點-->遞迴遍歷根結點的左子樹-->遞迴遍歷根結點的右子樹  中序遞迴遍歷演算法:遞迴遍歷根結點的左子樹-->訪問根結點-->遞迴遍歷根結點的右子樹  後序遞迴遍歷演算法:遞迴遍歷根結

java求最長子串

一開始看到這個題目的時候,我就想到了第一種思路: (1)從頭遍歷每個字元,從該字元向兩邊擴充套件,直到字串最長界限或者兩邊擴充套件的字元不相等為止,記錄每個字元搜尋的長度,並且找最大的即為最長迴文子串個數。演算法優化的地方(當一個字元的擴充套件長度為整個字串長度時候,停止搜

二叉樹的先序、中序、後序及層次遍歷的非方式實現Java

public class PreInPosTraversal { public static void preOrderUnRecur(Node head) { System.out.print("pre-order: "); i

程設作業判斷兩個數互質

giving an integer N (2 <= N <= 20) and a real number M (0.5 < M <= 1), output all proper fractions whose numerator is l

歸組合數,漢諾塔,回數問題java

char n-1 判斷 resource int swa one ise tex 遞推遞歸組合數: 1 思路:用函數求得n!,調用函數計算結果流程圖 2 .1流程圖 3 .1源代碼: import java.util.Scanner; public class

歸讀取制定目錄下所有件夾和文件的實現java

sys all obj 異常 on() catch turn tdi else   public static String getAllDirectorisAndFiles(String path){ Map<String, Object> res

的視覺化Fibonacci

遞迴的視覺化 修改遞迴函式,使其能夠顯示打印出每次函式遞迴呼叫的形參的值。 每一級呼叫的輸出都帶有一級縮排,就是使得程式的輸出清晰、有趣並且有含義。 思路 以斐波那契數列為例,假設n=5,遞迴的形參如下: 1------------------- 5 2-----------------/

列舉排列組合C++

原文地址:http://www.25kx.com/art/1441000 最近心血來潮,想自己寫個求解排列組合的小東西。以2個數組為例: arr1 = {'a', 'b', 'c'}; arr2={'1', '2'}; ,將陣列中元素的所有排列組合枚舉出來:a1 , a2, b1, b2,

和動態規劃

換錢的方法數 題目:給定陣列arr, arr中所有的值都為正數且不重複。每個值代表一種面值貨幣,每種面值的貨幣可以使用任意張,再給定一個整數aim代表要找的錢數,求換錢有多少種方法。 解題思路: 解法一:暴力遞迴 如果arr={5,10,25,1}, aim=1000,過程

漢諾塔問題的非非堆疊演算法

前一種方法的/*原理: 如果把三個柱子圍成一個環,盤子總數為N,其移動的規律是: 如果N為偶數:奇數號盤每次2步;偶數號盤每次1步; 如果N為奇數:奇數號盤每次1步;偶數號盤每次2步; 至於下一步該移動哪個柱子上的盤子,通過大小和順序即可判斷。  以上可以通過數學證明,不贅述

牛頓尤拉動力學模擬

遞迴牛頓-尤拉方法(Recursive Newton-Euler Method)是一種高效的動力學計算方法,尤其適用於串聯多剛體系統,例如串聯機械臂。遞迴牛頓-尤拉方法有正和逆兩種形式,本文我們先來看正動力學。正動力學又稱為前向動力學,如果給你機器人各關節的力矩後,通過正動

計算機演算法設計與分析——與分治策略

遞迴: 直接或者間接地呼叫自身的演算法稱為遞迴。用函式自身給出定義的函式成為遞迴函式。 使用遞迴技術往往使函式的定義和演算法的描述簡潔且易於理解。有些資料結構,如二叉樹等,由於其本身固有的遞迴特性,特別適合用遞迴的形式來描述。另外,還有一些問題,雖然其本身沒