C#leetcode练习简单篇

Posted RyouJou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#leetcode练习简单篇相关的知识,希望对你有一定的参考价值。

文章目录

简单篇

1.两数之和【双循环】

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

//方法一:暴力法
public class Solution 
    public int[] TwoSum(int[] nums, int target) 
        for (int i = 0; i < nums.Length; i++)
        
            for (int j = i + 1; j < nums.Length; j++)
            
                if (nums[i] + nums[j] == target)//判断相等
                
                    return new int[]  i, j ;//返回数组
                
            
        
        return new int[]  0, 0 ;
    


7.整数反转【整形转换字符串、Reverse()】

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:
输入:x = 123
输出:321

public int Reverse(int x)

    if (x < 0)
    
        int.TryParse(new string((-x).ToString().Reverse().ToArray()), out x);
        // 程序开发中,免不了不同数据类型之间的转换。C#中针对转换有了一个TryParse的方法。
        // int.TryParse(string s,out int i) 的参数: s是要转换的字符串,i 是转换的结果
        // 如果转换为int类型成功则返回true。否则返回false
        //.ToString() Int.ToString(format):
        //.Reverse() 反转数组中元素的顺序
        //.ToArray() 将List集合转换为对应的Array数组元素
        // out x
        return -x;
    
    else
    
        int.TryParse(new string(x.ToString().Reverse().ToArray()), out x);
        return x;
    


//通过使用 string 构造函数
            char[] letters =  'H', 'e', 'l', 'l','o' ;
            string greetings = new string(letters);

9.回文数【整形转换字符串、Reverse()】

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

输入:x = 121
输出:true

public class Solution 
    public bool IsPalindrome(int x) 
         string str1 = x.ToString();
            string str2 = new string(x.ToString().Reverse().ToArray());//使用.Reverse() 反转数组中元素的顺序

            if (str1 != str2) //判断是否相等
                return false;
            
            return true;
    


14. 最长公共前缀【Equals、Length、Substring】

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。

示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”

public class Solution 
    public string LongestCommonPrefix(string[] strs) 

        // 变量-结果
        string result = "";
        //健壮性避免为空
        if(strs.Length == 0)
            return "";
        

        for(int i = 0;i< strs[0].Length;i++)//外循环提取第一个字符串
            for(int j = 1;j<strs.Length;j++)//内循环提取数组剩下的字符串比较
                if(i>=strs[j].Length || !strs[0][i].Equals(strs[j][i]))//超出长度或者不相等
                    return result;
                
            
            //跳出内循环后,拼接字符串
            result=strs[0].Substring(0,i+1);//从index0到i位置
        
        return result;
    


以上是关于C#leetcode练习简单篇的主要内容,如果未能解决你的问题,请参考以下文章

队列3:LeetCode622:设计循环队列

LeetCode(二分查找法) 入门练习三

LeetCode刷题 -- 二叉树练习篇

LeetCode(二分查找法) 入门练习一

Python版[leetcode]1. 两数之和(难度简单)

全面征服LeetCode-再肝200篇算法