
递归
有梦就不怕痛
这个作者很懒,什么都没留下…
展开
-
递归算法实现字符串的逆序存储
#include#includechar s[100];int len;void reverse(int i,int j){ if(i==len/2) return ; char temp; temp=s[i]; s[i]=s[j]; s[j]=temp; reverse(++i,--j); } int main(){ scanf("%s",s); len=st原创 2016-10-16 21:11:40 · 2783 阅读 · 0 评论 -
矩阵中的路径 java
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个...原创 2019-06-04 10:15:48 · 369 阅读 · 0 评论 -
字符串的排列 java
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.ArrayList;import java.util.TreeSet;public clas...原创 2019-06-04 09:06:19 · 239 阅读 · 0 评论 -
根据后序遍历和中序遍历建二叉树 java
public static TreeNode create(int[] post, int postLeft, int postRight, int[] in, int inLeft, int inRight) { if (postLeft &g...原创 2019-05-29 15:12:37 · 1486 阅读 · 0 评论 -
二叉搜索树的第k个结点 java
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。import java.util.ArrayList;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...原创 2019-05-28 20:58:16 · 362 阅读 · 1 评论 -
按之字形顺序打印二叉树 java
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/*public class Tre...原创 2019-05-28 20:35:54 · 309 阅读 · 0 评论 -
把二叉树打印成多行 java
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode...原创 2019-05-28 14:58:03 · 224 阅读 · 0 评论 -
八皇后问题 DFS
什么是八皇后问题?就是在一个8*8的棋盘中向着64个格子中放入8个皇后任意2个皇后之间不能同行,同列,也不能是对角线的关系,问一共有多少种方案?这是一个经典的回溯问题,听别人说会了这个好多问题都可以很轻松的解决,当时想了好长时间,看了网上的思路,感觉最经典的是用x[i]=j;这个代表第i行第j列是可以放入皇后的,比自己建立一个二维的数组感觉简单多了 ,什么时候可以用dfs呢?我原创 2017-03-09 18:54:56 · 4546 阅读 · 0 评论 -
递归算法实现字符串的逆序存储
#includechar s[1000];int i;void rever(){ char ch; i=0; scanf("%c",&ch); if(ch=='.')// . 代表输出结束 return ; else { rever(); s[i++]=ch; } s[i]='\0'; } int main(){ rever(); prin原创 2016-12-10 22:58:06 · 4391 阅读 · 0 评论 -
判别无向图中任意给定的2个顶点之间是否存在一条长度 为k的简单路径
判别无向图中任意给定的2个顶点之间是否存在一条长度为k的简单路径 无向图是没有权值的这里的k值代表经历k-1个顶点不要以为很简单,里面很niu的 int visited[MAXSIZE]//出发点为i,终点为j,长度为k int exist_path_len(ALGraph G,int i,int j,int k) { if(i==j&&k==0) return 1原创 2016-11-14 23:29:46 · 20427 阅读 · 14 评论 -
递归算法实现字符串的逆序输出
#includechar s[1000]; void reverse(char *s){ if(*s) { reverse(s+1); printf("%c",*s); } else return ;} int main(){ scanf("%s",s); reverse(s); }原创 2016-10-16 21:20:15 · 7496 阅读 · 4 评论 -
same-tree java
题目描述Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value./**...原创 2019-07-13 23:28:35 · 233 阅读 · 0 评论