基于visual Studio2013解决面试题之0403串联字符串
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                基于visual Studio2013解决面试题之0403串联字符串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            
                        
                        
                        題目
解決代碼及點評
/*有 n個長為 m+1的字符串,如果某個字符串的最后m個字符與某個字符串的前m個字符匹配,則兩個字符串可以聯(lián)接,問這n個字符串最多可以連成一個多長的字符串,如果出現(xiàn)循環(huán),則返回錯誤。 */#include <iostream>
using namespace std;int maxlengh = 0;void go(char *a[20], char **a2, int n)
{// 遍歷13個字符串for (int i = 0; i < 13; i++){int flag = 0;// 判斷a[i]是不是在a2里,如果是flag = 1for (int j = 0; j < n; j++){if (a[i] == a2[j]){flag = 1;}}if (flag == 1) // 如果是在a2里,那么就看下一個字符串{continue;}if (n == 0) // n == 0 表示a2里還沒有字符串{a2[n] = a[i]; // 既然沒有,就直接將a[i]保存吧n++; // 保存完a2里就多了一個元素,要記錄if (n > maxlengh) // 如果n>maxlengh,那么重新記錄max{maxlengh = n;}go(a, a2, n); // 遞歸調(diào)用本函數(shù)n--;}// 如果n不是0,那么判斷a[i]是不是符合條件else if (a2[n - 1][1] == a[i][0] && a2[n - 1][2] == a[i][1] && a2[n - 1][3] == a[i][2]){a2[n] = a[i]; // 如果符合條件,就把它記錄到a2n++;// 一樣的重新記錄maxlengthif (n > maxlengh){maxlengh = n;}// 遞歸繼續(xù)go(a, a2, n);n--;}}
}/* 測試主函數(shù) */
int main()
{char *a[20] = { "abcd", "bcde","cdea", "deab", "eaba","abab", "deac", "cdei","bcdf", "cdfi", "dfic","cdfk", "bcdg" };char *a2[20];go(a, a2, 0);cout << maxlengh;system("pause");return 0;
}代碼下載及其運行
代碼下載地址:http://download.csdn.net/detail/yincheng01/6704519
解壓密碼:c.itcast.cn
下載代碼并解壓后,用VC2013打開interview.sln,并設置對應的啟動項目后,點擊運行即可,具體步驟如下:
1)設置啟動項目:右鍵點擊解決方案,在彈出菜單中選擇“設置啟動項目”
2)在下拉框中選擇相應項目,項目名和博客編號一致
3)點擊“本地Windows調(diào)試器”運行
程序運行結(jié)果
轉(zhuǎn)載于:https://www.cnblogs.com/new0801/p/6177367.html
總結(jié)
以上是生活随笔為你收集整理的基于visual Studio2013解决面试题之0403串联字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 亚龙湾森林公园门票多少钱
 - 下一篇: C C++的编译过程详解