zoukankan      html  css  js  c++  java
  • Java实现 LeetCode_0038_CountandSay

    package javaLeetCode.primary;
    
    import java.util.Scanner;
    
    public class CountandSay_38 {
    	public static void main(String[] args) {
    		@SuppressWarnings("resource")
    		Scanner input = new Scanner(System.in);
    		System.out.println("Please input a integer:");
    		int n = input.nextInt();
    		System.out.println(countAndSay_2(n));
    
    	}// end main()
    
    	public static String countAndSay_1(int n) {
    
    		StringBuilder str = new StringBuilder("1");
    		if (n <= 0 || n > 30) {
    			return null;
    		} else {
    			int i = 1;
    			int num = 1;// Count the number of character.
    			int temp = 1;// Control the whileLoop.
    			while (temp < n) {
    				StringBuilder str_1 = new StringBuilder();
    				for (i = 1; i < str.length(); i++) {
    					if (str.charAt(i) == str.charAt(i - 1)) {
    						num += 1;
    					} else {
    						str_1.append(num + "" + str.charAt(i - 1));
    						num = 1;
    					} // end if
    				} // end for
    				str_1.append(num + "" + str.charAt(i - 1));
    				num = 1;
    				str = str_1;
    				temp++;
    			} // end while
    		} // end if
    		return str.toString();
    	}// end countAndSay()
    
    	public static String countAndSay_2(int n) {
    
    		StringBuilder str = new StringBuilder("");
    		if (n >= 1 && n <= 30) {
    			str.append("1");
    			str = countAndSay_2_1(n, str);
    		} else {
    			;
    		} // end if
    		return str.toString();
    	}// end countAndSay()
    
    	public static StringBuilder countAndSay_2_1(int n, StringBuilder str) {
    
    		if (n > 1) {
    			int i = 1;
    			int num = 1;// Count the number of character.
    			StringBuilder str_1 = new StringBuilder();
    			for (i = 1; i < str.length(); i++) {
    				if (str.charAt(i) == str.charAt(i - 1)) {
    					num += 1;
    				} else {
    					str_1.append(num + "" + str.charAt(i - 1));
    					num = 1;
    				} // end if
    			} // end for
    			str_1.append(num + "" + str.charAt(i - 1));
    			str = str_1;
    			str = countAndSay_2_1(--n,str);
    //			return str;
    		} else {
    			;
    		} // end if
    		return str;
    	}// end countAndSay_2_1()
    }// end CountandSay_38
    
    
    
  • 相关阅读:
    Java程序员之JS(一) 入门
    Java虚拟机(一)之开篇
    JDK/JRE/JVM区别与联系
    web开发视频(一)之环境准备
    Spring MVC 教程,快速入门,深入分析
    Java中“==和equals”的区别
    如何查看电脑最大支持多少GB内存
    win10 计算器calc命令打不开
    Win10图标显示不正常解决办法
    在系统右键菜单上添加程序
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076625.html
Copyright © 2011-2022 走看看