1. 程式人生 > >給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換(容易)

給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換(容易)

在vs2013寫的程式,使用sort進行排序,然後對比是否完全一樣即可
/*
給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換。

置換的意思是,通過改變順序可以使得兩個字串相等。
*/
#include "stdafx.h"
#include <iostream>
#include <stdio.h>  
#include <stdlib.h>  
#include <string>
#include<algorithm>
using namespace std;
class Solution
{
public:
	/**
	* @param A a string
	* @param B a string
	* @return a boolean
	*/
	bool stringPermutation(string& A, string& B)
	{
		// Write your code here
		if (A.size() != B.size())
		{
			return false;
		}
		else
		{
			sort(A.begin(), A.end());
			sort(B.begin(), B.end());
			if (A == B)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}
};

int main()
{
	Solution a;
	string src = "abbcdefg";
	string des = "gfedcbba";
	cout << a.stringPermutation(src, des) << endl;
	system("pause");
	return 0;
}

相關推薦

給定字串設計一個方法判定其中一個字串是否一個字串置換(容易)

在vs2013寫的程式,使用sort進行排序,然後對比是否完全一樣即可/* 給定兩個字串,請設計一個方法來判定其中一個字串是否為另一個字串的置換。 置換的意思是,通過改變順序可以使得兩個字串相等。 */ #include "stdafx.h" #include <i

前端演算法:給定陣列編寫一個函式計算它們的交集(陣列的交叉點)

給定兩個陣列,編寫一個函式來計算它們的交集。 例1: 輸入: nums1 = [1,2,2,1],nums2 = [2,2] 輸出:[2,2] 例2: 輸入: nums1 = [4,9,5],nums2 = [9,4,9,8,4] 輸出:[4,9] 注意: 結果

對於一個字串設計一個高效演算法計算其中最長迴文子串的長度。

給定字串A以及它的長度n,請返回最長迴文子串的長度。  測試樣例: "abc1234321ab",12  返回:7 分析與解法 最容易想到的辦法是列舉所有的子串,分別判斷其是否為迴文。這個思路初看起來是正確的,但卻做了很多無用功,如果一個長的子串包含另一個短一些的子

給定整數被除數 dividend 和除數 divisor。將數相除要求不使用乘法、除法和 mod 運算子。

記錄自己坑了又坑的每一天: 原題: 給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法、除法和 mod 運算子。 返回被除數 dividend 除以除數 divisor 得到的商。 示例 1: 輸入: dividend = 1

MySql:給定日期生成日期之間的連續日期

有的時候做報表之類的查詢的時候 , 如果主表在某一天沒有記錄資料, 那麼統計出來結果中是沒有那個日期的……但!報表要求不能缺失日期,因為在關聯其它表的時候也許這些日期就有用了。看了網上的一些生成連續日期的答案, 說實話沒有找到多少靠譜的(我是做報表), 在CSDN逛了一圈以後

程式設計題:給定集合集合的交集

題目:給定兩個整數集合,求兩個集合的交集。 法一:排序法(先將集合排序,在找交集)             排序時間複雜度O(nlogn),對集合遍歷查詢O(n);總的時間複雜度O(nlogn); void main() { int a[] = { 1, 5, 9, 8,

小演算法:給定字串編寫程式確定其中一個字串的字元重新排列後能否變成一個字串s首先

(1)題目描述  給定兩個字串,請編寫程式,確定其中一個字串的字元重新排列後,能否變成另一個字串。這裡規定大小寫為不同字元,且考慮字串重點空格。  給定一個string stringA和一個string stringB,請返回一個bool,代表兩串是否重新排列後可相同。保證

設計一個演算法刪除遞增有序連結串列中值大於mink且小於maxk的所有元素(mink和maxk是給定引數其值可以和表中的元素相同也可以不同)。

語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li

已知連結串列A和B分別表示集合其元素遞增排列。設計一個演算法用於求出A與B的交集並存放在A連結串列中。

語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li

(pyhon)給定一個整數陣列 nums 和一個目標值 target你在該陣列中找出和目標值的那 整數並返回他們的陣列下標。

方法一:使用最容易理解的遍歷陣列進行查詢 def solution(nums,target): #如果列表長度小於2,則直接結束 if len(nums) < 2: return #兩次迴圈列表,分別對列表中的所有可能的數字進行相加

【演算法】給定字串確定一個字串重新排列後能否變成一個字串(java實現)

分析:兩個字串的長度都不相同時,不可能是變位詞 package com.billkang.algorithm; import java.util.Arrays; /** * 給定兩個字串,確

面試8之給定字串s1和s2編寫程式碼檢查s2是否s1旋轉而成

假定我們都知道非常高效的演算法來檢查一個單詞是否為其他字串的子串。請將這個演算法編寫成一個函式,給定兩個字串s1和s2,請編寫程式碼檢查s2是否為s1旋轉而成,要求只能呼叫一次檢查子串的函式。給定兩個字串s1,s2,請返回bool值代表s2是否由s1旋轉而成。字串中字元為

一個字串A的子串被定義成從A中順次選出若干字元構成的串。如A=“cdaad" ,順次選135字元就構成子串" cad" ,現給定字串求它們的最長共公子串。 小王對既是素數又是迴文的

一個字串A的子串被定義成從A中順次選出若干個字元構成的串。如A=“cdaad" ,順次選1,3,5個字元就構成子串" cad" ,現給定兩個字串,求它們的最長共公子串。 小王對既是素數又是迴文的數特

2.5給定用鏈表表示的整數每個結點包含一個數位。這些數位是反向存放的也就是個位排在鏈表首部。編寫函數對這整數求和並用鏈表形式返回結果。

直接 logs next 末尾 做的 nbsp before != 結果 其實仔細想想是挺簡單的,我們要做的只是記得進位。 LinkedListNode addLists(LinkedListNode l1, LinkedListNode l2, int carry) /

快速找出一個數組中的數字讓這數字之和等於一個給定的值

http 知識 繼續 進一步 repl 有一個 tails 窮舉 too 我覺得寫得很清晰,希望沒有侵犯作者的著作權,原文地址http://blog.csdn.net/hackbuteer1/article/details/6699642 快速找出一個數組中的兩個數字,讓這

給定非空連結串列表示非負整數。位數按照逆序方式儲存它們的每個節點只儲存單個數字。將數相加返回一個新的連結串列。

題目描述: 給定兩個非空連結串列來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回一個新的連結串列。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 思路: 1.定義連結串列類 2.建立兩個數的連結串列表示物件 3.傳入函式實現相加:每一位相加,設

在二叉查詢樹中尋找節點使它們的和一個給定

給定一個二叉搜尋樹和一個目標結果,如果 BST 中存在兩個元素且它們的和等於給定的目標結果,則返回 true。 使用中序遍歷得到有序陣列之後,再利用雙指標對陣列進行查詢。 應該注意到,這一題不能用分別在左右子樹兩部分來處理這種思想,因為兩個待求的節點可能分別在左右子樹中。 /** *

二叉搜尋樹的最小節點絕對值之差/在二叉查詢樹中尋找節點使它們的和一個給定值/找出 BST 中的所有眾數(出現頻率最高的元素)。

關於二叉樹的數值運算,一般考慮借用中序遍歷為陣列;再進行計算的思想。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

一個整形陣列A設計一個複雜度O(n)的演算法算出排序後相鄰數的最大差值。

有一個整型陣列,請設計一個複雜度為O(n)的演算法,算出排序後相鄰兩數的最大差值。 Given an unsorted array, find the maximum difference betwe