class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> vec; multimap<int, int> mmap; for (int i = 0; i < nums.size(); ++i) { mmap.insert(make_pair(nums[i], i)); } for (int i = 0; i < nums.size(); ++i) { auto it = mmap.find(target - nums[i]); if (it == mmap.end()) continue; else { if(i == it->second) //主要是为了避免6 = 3 + 3 类似于这种,找到的数字就是自己本身 { continue; } vec.push_back(i); vec.push_back(it->second); break; } } return vec; } }; class Solution { public: string addBinary(string a, string b) { int la=a.length(), lb=b.length(); string s(max(la,lb)+1,'0'); for(int i=la, j=lb, k=s.length(), c=0; i || j || c; c>>=1){ if(i) c+=a[--i]-'0'; if(j) c+=b[--j]-'0'; s[--k]='0'+(c&1); } if(s[0]=='0') s.erase(0,1); return s; } };