zoukankan      html  css  js  c++  java
  • [面试题]去除字符串中相邻两个字符的重复

     1/// <summary>
     2        /// 去除字符串中相邻两个字符的重复 
     3        /// 
     4        /// exp.   
     5        ///    abb -> ab
     6        ///    abbccaabbcc -> abcabc
     7        ///    aaabbb -> ab
     8        /// </summary>
     9        /// <param name="strInput"></param>
    10        /// <returns></returns>

    11        static string GetStringOfSingleChar(string strInput)
    12        {
    13            if (strInput == null)
    14                throw new Exception("String cannot be null.");
    15
    16            int Length = 0;
    17            if ((Length = strInput.Length) < 2return strInput;
    18            char[] strArray = strInput.ToCharArray();
    19
    20            int count = 0;
    21            for (int i = 1; i < Length; i++)
    22            {
    23                if (strArray[i] != strArray[i - 1]) continue;
    24
    25                char cTemp = strArray[i];
    26                for (int j = i; j < Length - 1; j++)
    27                    strArray[j] = strArray[j + 1];
    28                strArray[Length - 1= cTemp;
    29
    30                if (i + count >= Length) break;
    31                i--;
    32                count++;
    33            }

    34
    35            return new string(strArray , 0 , Length - count);
    36        }
  • 相关阅读:
    Linux数据链路层的包解析
    Nmap的活跃主机探测常见方法
    甲方安全建设推进思路
    重新学习python类
    python装饰器
    记录一次奇葩渗透中的点点滴滴
    安全情报总结
    机器学习基础
    tensorflow学习笔记(四十五):sess.run(tf.global_variables_initializer()) 做了什么?
    tensorflow学习笔记(二十五):ConfigProto&GPU
  • 原文地址:https://www.cnblogs.com/sskset/p/715364.html
Copyright © 2011-2022 走看看