zoukankan      html  css  js  c++  java
  • 字符串处理技巧

    1、快速统计字符串中每个字符出现的个数

    hash表

    2、求两个字符串公共的最长子串长度和子串

    双重循环遍历找到长度,同时用二重指针保留住最长长度时候的指针位置

    3、求一个字符串中最大的重复子串长度和子串

    和2的思路差不多

    4、将一个字符串全排列输出

    (1)递归 (2)使用STL中的next_permutation

    5、将一个字符串的所有组合输出

    递归

    6、快速将一个整数(或十进制的字符串)转换成radix进制的字符串

    整型直接用:char*itoa(int value,char*string,int radix);

    十进制字符串转换到二进制字符串:先int atoi(const char *nptr);然后char*itoa(int value,char*string,int radix);

    7、找一个字符串中的兄弟字符串

    8、删除字符串中特定的一些字符

    可以考虑用空间换时间的做法,申请一块新的字符空间,遍历原串,然后将不用删除的字符逐一拷贝到新的字符串中。

    9、对大写、小写、数字分别排序,不同类别的字符按某种机制输出

    可以考虑先用三个字符串分别存储大写、小写、数字等,先分别排序,然后按照某种机制去输出,输出取出字符串的时候,要注意每个分类的下标,最好设置标志位,而不要重复往后移动。

    如果只是大写和小写字母的混合排序的话,可以在排序的时候使用tolower或toupper将字母转换成同一类进行排序。

  • 相关阅读:
    第一周实习工作总结
    service---七月十九号实验
    安卓常用链接
    Activity + 基础UI
    七月十四日安卓学习笔记
    安卓组件学习笔记
    剑指:数组中出现次数超过一半的数字
    剑指:二叉搜索树与双向链表
    剑指:二叉树中和为某一值的路径
    剑指:二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/bewolf/p/4368368.html
Copyright © 2011-2022 走看看