zoukankan      html  css  js  c++  java
  • 第一讲 递归与循环3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    /*
    * @Author: SHUAI
    * @Date:   2015-12-05 08:50:58
    */
    /*
            串的比较,思路s1[0]==s2[0] 逐层递归
            三个出口 长度不同  比较到最后0个 首字符不同
            递归条件 不在出口范围说明首字符相同,且长度相同不为0
    */
    #include <stdio.h>
    #define N 6
    #define M 6
    int fun(char s1[], int length1, char s2[], int length2) {
      if (length1 != length2) return -1;
      if (!length1) return 1;//if (!s1[0]) return 1;
      if (s1[0] != s2[0]) return -1;
      fun(s1 + 1, length1 - 1, s2 + 1, length2 - 1);
    }
    int main() {
      char s1[N] = "nihao";
      char s2[M] = "nihao";
      char s3[N] = "nihan";
      char s4[M] = "nihbo";
      char s5[N] = "niham";
      char s6[M] = "nihao";
      printf("%d ", fun(s1, N, s2, M));
      printf("%d ", fun(s3, N, s4, M));
      printf("%d ", fun(s5, N, s6, M));
      
      return 0;
    }
      
    /*笔记==================
    递归要注意上一个函数是否在任务完成后再使用。
    出口条件的逻辑顺序要理清。
    递归的逻辑同上。
    */

    =============注===============

     
    部分叙述来自于蓝桥杯讲解视频。
  • 相关阅读:
    《增长黑客》阅读内容摘要(前三章)
    ios的安全机制
    R语言  RStudio快捷键总结
    R in action 笔记(第二部分)
    R in action 笔记(第一部分)
    R统计函数-开源
    R语言函数索引-11月
    mysql join的优化实例
    android异步消息处理机制
    android ListView与EditText共存错位
  • 原文地址:https://www.cnblogs.com/startnow/p/5021063.html
Copyright © 2011-2022 走看看