QuHai互联科技 算法题部分

11、实现计算第n个斐波那契数

12、给定一个字符串编码规则,如输入字符串”Y3E12S!3”,字母后面的数字表示该字符重复几次,如果字符后没有数字则表示一个字符,最终输出转码后的字符串’YYYEEEEEEEEEEEES!!!’。试写出转码的函数,编程语言不限。

13、简述你所了解的两种或以上排序算法以及其时间复杂度

14、给定一个单向链表(给出头指针),将其翻转后输出(新的头指针)

Csharp 语言

public class ListNode 
{
    public int val;
    public ListNode next;
    public ListNode(int x) { val = x; }
}

public ListNode ReverseList(ListNode head)
 {
    ListNode prev = null;
    while (head != null) 
    {
        ListNode next = head.next; // 记录下一个节点
        head.next = prev; // 当前节点指向前一个节点
        prev = head; // 将当前节点设为下一次的前一个节点
        head = next; // 移动到下一个节点
    }
    return prev;
}




15、使用至少2种方法判断一个字符串是否是回文。写出代码实现,编程语言不限

Csharp 语言

1、双指针法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 判断是否回文
{
    class Program
    {
        public static bool IsHuiWen(string s)
        {

            for (int i = 0, j = s.Length-1; i < j; i++, j--)
            { if (s[i] != s[j])
                { return false; }
            }
            return true;
        }

        public static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (IsHuiWen(s))
            {
                Console.WriteLine(("Yes"));
            }
            else Console.WriteLine("No");

            Console.ReadKey();
        }

    }
}




2、反转函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 判断是否回文
{
    class Program
    {
        public static bool IsPalindrome(string s)
        {
            string reverseS = new string(s.Reverse().ToArray());
            return s == reverseS;
            //首先使用 .Reverse() 方法得到一个逆序枚举器,再使用 .ToArray() 将其转换为字符数组,
            //最后调用 string 类型的构造方法生成一个新的字符串,即为原字符串的翻转。
        }

        public   static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (IsPalindrome(s))
                Console.WriteLine("Yes");
            else Console.WriteLine("No");


            Console.ReadKey();
        }
    }
}

输入:
aannccddfddccnnaa Yes

posted @ 2023-04-20 22:27  专心Coding的程侠  阅读(41)  评论(0编辑  收藏  举报