ACM上一道简单的字符串题,从网上找了下类似的代码进行参考外加之个人思考,想到此好思路. 题目大意 任意输入一行字符串,检索重复出现的字符.将原字符串中的重复字符删除后按照原顺序输出,同时按照原顺序输出有哪些字符是重复的. 输入 输出 两个输出之间空一行 样例输入 ads_fagaerididfhdus_afiew 样例输出 ads_fgerihuw ads_fei 看到此题,第一想法就是用个初始值全为 0 的flag[100000]数组来进行标记,首先是遍历整个字符串,从第i个字符开始与整个字…
package com.swift; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class Zhongwen_Shuzi_Times { public static void main(String[] args) { /* * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 */ String str="琅琊榜fengqichanglin…
//根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> #pragma warning (disable:4996) void fun(char c, int d) { int i; ], a[], *ptr; /**********found**********/ ; i<; i++) { A[i] = 'A' + i; a[i] = 'a' + i;…
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 8,田七,35 package com.swift; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.u…
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. /** * 1.递归算法 * * 解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!) * * 对于无重复值的情况 * * 固定第一个字符,递归取得首位后面的各种字符…
1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. 2 思路和方法 固定第一个字符,递归取得首位后面的各种字符串组合:再将第一个字符与后面每一个字符交换,同样递归获得其字符串组合:每次递归都是到最后一位时结束,递归的循环过程,就是从每个子串的第二个字符开始依次与第一个字符交换,…
//函数fun功能:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,s所指串中剩余的字符形成的新串放在t所指的数组中. #include <stdio.h> #include <string.h> void fun(char *s, char t[]) { ,j=; while (s[i] != '\0') { == ) { == )//判断ASCII值,使用(int)强制转换类型. { //printf("%d", (int)s[i]);//调试语…
[字符串与数组] Q:Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer NOTE: One or two additional variables are fine An extra copy of the array is not FOLLOW UP Write the test cases for this…
在C++中只能显示出字符串,而如果要想打印出其他类型的变量,则只能将其先转换为字符串类型. 例如:想打印出int型变量value的值 int  value; 则需: char str[1];//定义一个字符串类型的变量str,等下要用str来存储value的值. itoa(value, str, 10);//将int型变量value转换成字符串类型变量str即可,第三个参数表明value是十进制数. AfxMessageBox(str);//将str显示出来.…
发现一个很好玩的打印顺序 package com.liaojianya.chapter1; /** * This program demonstrates the string. * @author LIAO JIANYA * */ public class CTest { public static void main(String[] args) { int x = 5; int y = 6; System.out.println(x + y + 'a'); System.out.print…
在建立结构tnode的过程中,我们没有预设门槛.这道题目就设置了门槛,必须根据前N个字符来进行分组,于是排除了长度小于N的变量,以便减轻负担. 因为要求对变量名分组打印,组别理所应当地应该按照至少是升序来排列,在每一组内,也至少应该是升序排列(以字母顺序),于是构造一棵二叉树,它的每一个节点都指向另一棵二叉树,即一棵由二叉树构成的二叉树.这样,在我们对每一个母二叉树的节点进行访问的时候,也可以遍历它所指向的子二叉树,也就是每一个组别内的升序排列实现了.遍历母二叉树的过程也实现了各组升序排列. 代…
#include <iostream> #include <iomanip> #include <string> #include <cstdlib> using namespace std; //定义哈夫曼树存储结构 typedef struct { char data; //存放结点数据 int weight; //记录结点权值 int parent, lchild, rchild; }HTNode, * HuffmanTree; //哈夫曼编码存储表示…
Array.prototype.unique1 = function() { var n = []; //一个新的临时数组 for(var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n; } Array.prototype.unique2 = funct…
Q:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. A:BFS,偶数层reverse vector<vector<int> > Print(TreeNode *pRoot) { vector<vector<int> > result; if (pRoot == nullptr) return result; bool rever = false; TreeNod…
1.字符串去重,html模板取值   2.javascript正则表达式之$1...$9   3.jquery插件   4.返回上一页并刷新 解决方法: <a href ="javascript:location.href=document.referrer;">   5.用webstorm写的手机网站 怎样能用手机预览呢? 解决方法:布署到wamp,xamp,iis上,然后用浏览器生成二维码,扫一扫就可以打开.假如是javaweb项目,挂上tomcat手机直接访问你机子的…
1064: 输入三个字符串,按由小到大的顺序输出 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 471  Solved: 188[Submit][Status][Web Board] Description 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 3行字符串 Output 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现.   Sample…
[题目]请实现一个函数按照之字形打印二叉树, * 即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印, * 其他行以此类推. 未优化,不是最优解,博主用的是队列,我用的栈. 方法一:直接打印 package com.exe7.offer; import java.util.Stack; import org.junit.Test; /**方法一:直接打印 * [题目]请实现一个函数按照之字形打印二叉树, * 即第一行按照从左到右的顺序打印,第二层按照从右至…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>去重</title> </head> <body> <script type="text/javascript"> /*数组去重*/ function quchong(arr){ var len = a…
##### c++ 字符串去重 == 需求 == * 编写一个字符串过滤函数,若字符串出现多个相同的字符,将不是首次出现的字符过滤掉. > 输入:"apache" 输出:"apche" > 输入:"google" 输出:"gle" * 代码实现 ``` #include #include #include using namespace std; // 26个标志位 代表着每个字母出现与否 出现后置1 bool g…
package Tree; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** * 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. * 思路: * 先按层次输出二叉树 * 判断奇数层和偶数层 * 反转arrayList */ public class Solution9 { publ…
顺序打印矩阵 思路 参考代码 #include <iostream> using namespace std; ], int row, int col) { || col < ) return; , down = row -, left = , right = col -; ; while(up <= down && left <= right) { for(i = left; i <= right; ++i) cout << a[up][i…
# include <stdio.h> # include <string.h> char * getNewChar(char * str,char * newStr); int main() { char * str = "baabbcddffffaacbffffffffa"; // 需要去重的字符串 char newStr[15]; char * result = getNewChar(str, newStr); printf("去重后的结果为:%…
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 这道题其实是分层打印二叉树的进阶版,唯一的不同就是偶数层是列表倒序,奇数层是列表正序:只要在上道题目代码的基础上添加一个判断符,判断是奇数层还是偶数层 代码 class Solution: def Print(self, pRoot): # write code here result = [] queue = [] if pRoo…
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 题目地址 https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0?tpId=13&tqId=11212&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranki…
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: vector<vector<i…
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 题目分析 这道题还是需要画图分析,不然不好找规律. 正常的广度遍历的话,都是同样的顺序,从左到右,而我们要在广度遍历的基础上改造为之字形遍历. 也就是我们需要在奇数行从左至右,在偶数行从右至左,因为是先进后出,分析可得我们需要的数据结构是栈. 为了避免顺序错误,我们需要的不只是一个栈,而是两个栈,这个大家画图研究下就能想到. 两个栈是这么用的…
一.题目 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推.二.思路 详见代码 三.代码 import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<ArrayList<Integer>> print(TreeNode pRoot) { int layer = 1;…
题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 思路: 按照广度优先遍历来遍历二叉树,但是需要按照之字形来打印,意味着: 奇数行从左到右,跟BFS的遍历顺序一样,而偶数行从右到左,跟BFS的遍历顺序相反. 因此我们不能直接采用队列,可以通过两个栈来实现,一个实现先进先出,即入栈顺序为右子节点.左子节点:一个实现后进先出,即入栈顺序为左子节点.右子节点.(具体参照代码) 在线测试: http:…
题目: 列表去掉重复元素,并保持原来的排序 方法一: # 待处理的列表 L1 = [111,44,55,33,22,11] # 利用集合set的属性,去重 s1 = set(L1) # 把集合转化为列表 L2 = list(s1) # 按照 L1中的index进行排序 L2.sort(key = L1.index) # 得到去重并且维持排序的列表 print(L2) 方法二: # 待处理的列表 L1 = [111,44,55,33,22,11] # 定义一个空列表 L2 = [] # 通过遍历L…
js字符串去重: 1.  去掉字符串前后所有空格: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明: 如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串. 2. 去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g) function Trim(str,is_global) { var result; result = str.replace(/…